using DevExpress.XtraEditors;
|
using System;
|
|
namespace IStation.WinFrmUI.Basic
|
{
|
public partial class SetSingleCoordLxpHDlg : DevExpress.XtraEditors.XtraForm
|
{
|
private Eventech.Model.UnitH _currentUnit = Eventech.Model.UnitH.M;
|
public SetSingleCoordLxpHDlg()
|
{
|
InitializeComponent();
|
|
comboUnit.Properties.Items.AddRange(Eventech.Common.UnitHHelper.GetEnUnitNameList());
|
comboUnit.SelectedIndex = 0;
|
_currentUnit = Eventech.Model.UnitH.M;
|
}
|
|
private void LoadWindow(object sender, EventArgs e)
|
{
|
LocationDialog();
|
}
|
|
//翻译界面语言
|
private void LocationDialog()
|
{
|
|
}
|
|
Eventech.Model.LxpCoordinateParas _lxpCoordinateParas = null;
|
public void SetBindingData(Eventech.Model.LxpCoordinateParas coord, Eventech.Model.UnitH? unitH = null)
|
{
|
if (coord == null)
|
return;
|
|
this._currentUnit = Eventech.Model.UnitH.M;
|
if (unitH != null)
|
{
|
this._currentUnit = unitH.Value;
|
}
|
this._lxpCoordinateParas = coord;
|
|
|
|
labelMin.Text = "最小扬程";
|
labelMax.Text = "最大扬程";
|
|
|
comboBoxType.Properties.Items.Add("刻度数,最大最小值");
|
comboBoxType.Properties.Items.Add("刻度数,间隔量,最小值");
|
comboBoxType.Properties.Items.Add("间隔量,最大最小值");
|
comboBoxType.SelectedIndex = 2;
|
|
textNumber.Text = (coord.EndLineNoH - coord.StartLineNoH + 1).ToString();
|
|
textMin.Text = Math.Round(
|
Eventech.Common.UnitHHelper.fromM2(_currentUnit, coord.CoordMinH + coord.StartLineNoH
|
* coord.CoordSpaceH), 2).ToString();
|
|
textMax.Text = Math.Round(
|
Eventech.Common.UnitHHelper.fromM2(_currentUnit, coord.CoordMinH + coord.EndLineNoH
|
* coord.CoordSpaceH), 2).ToString();
|
|
textSpace.Text = Math.Round(
|
Eventech.Common.UnitHHelper.fromM2(_currentUnit, coord.CoordSpaceH), 2).ToString();
|
|
|
|
|
comboUnit.Enabled = false;
|
|
comboUnit.SelectedIndex = (int)_currentUnit;
|
}
|
|
|
|
public event ChangeLxpCoordHandler OnChangedCoord = null;
|
|
private void comboBoxType_SelectedIndexChanged(object sender, EventArgs e)
|
{
|
switch (comboBoxType.SelectedIndex)
|
{
|
case 0:
|
labelNumber.Visible = true;
|
textNumber.Visible = true;
|
|
labelMin.Visible = true;
|
textMin.Visible = true;
|
|
labelMax.Visible = true;
|
textMax.Visible = true;
|
|
labelSpace.Visible = false;
|
textSpace.Visible = false;
|
break;
|
case 1:
|
labelNumber.Visible = true;
|
textNumber.Visible = true;
|
|
labelMin.Visible = true;
|
textMin.Visible = true;
|
|
labelMax.Visible = false;
|
textMax.Visible = false;
|
|
labelSpace.Visible = true;
|
textSpace.Visible = true;
|
break;
|
case 2:
|
labelNumber.Visible = false;
|
textNumber.Visible = false;
|
|
labelMin.Visible = true;
|
textMin.Visible = true;
|
|
labelMax.Visible = true;
|
textMax.Visible = true;
|
|
labelSpace.Visible = true;
|
textSpace.Visible = true;
|
|
break;
|
}
|
|
|
}
|
|
|
private void comboUnit_SelectedIndexChanged(object sender, EventArgs e)
|
{
|
|
}
|
|
private void btnSet_Click(object sender, EventArgs e)
|
{
|
double space = 0;
|
int num = 0;
|
double minValue = 0;
|
double maxValue = 0;
|
if (!double.TryParse(textSpace.Text, out space))
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
if (space < 0.01)
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
|
|
if (!double.TryParse(textMin.Text, out minValue))
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
if (!double.TryParse(textMax.Text, out maxValue))
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
if (maxValue < minValue)
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
|
switch (comboBoxType.SelectedIndex)
|
{
|
case 0:
|
if (!int.TryParse(textNumber.Text, out num))
|
{
|
XtraMessageBox.Show("刻度数请输入合理值");
|
return;
|
}
|
if (num < 3)
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
space = Math.Round((maxValue - minValue) / (num - 1), 3);
|
textSpace.Text = space.ToString();
|
break;
|
case 1:
|
if (!int.TryParse(textNumber.Text, out num))
|
{
|
XtraMessageBox.Show("刻度数请输入合理值");
|
return;
|
}
|
if (num < 3)
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
maxValue = minValue + (space * (num - 1));
|
textMax.Text = maxValue.ToString();
|
break;
|
case 2:
|
num = (int)((maxValue - minValue) / space) + 1;
|
textNumber.Text = num.ToString();
|
if (num < 4)
|
{
|
XtraMessageBox.Show("请输入合理值");
|
return;
|
}
|
break;
|
}
|
|
|
|
|
if (OnChangedCoord != null)
|
{
|
_lxpCoordinateParas.StartLineNoH = _lxpCoordinateParas.EndLineNoH - num + 1;
|
_lxpCoordinateParas.CoordSpaceH = Eventech.Common.UnitHHelper.toM2(this._currentUnit, space);
|
_lxpCoordinateParas.CoordMinH = Eventech.Common.UnitHHelper.toM2(this._currentUnit, maxValue - _lxpCoordinateParas.GridNumberY * space);
|
|
OnChangedCoord(this, new LxpCoordEventArgs(this._lxpCoordinateParas));
|
}
|
}
|
|
private void btnClose_Click(object sender, EventArgs e)
|
{
|
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.Close();
|
}
|
|
}
|
}
|