using DevExpress.XtraEditors; using System; namespace IStation.WinFrmUI.Basic { public partial class SetLxpCoordinateDlg : DevExpress.XtraEditors.XtraForm { public event ChangeLxpCoordHandler OnChangedCoord = null; private Eventech.Model.LxpCoordinateParas _coordinateParas = null; public Eventech.Model.LxpCoordinateParas CoordinateParas { get { return _coordinateParas; } set { _coordinateParas = value; } } public SetLxpCoordinateDlg() { InitializeComponent(); this.IconOptions.Icon = WinFrmUI.Properties.Resources.App; this.label扬程效率刻度错位数.Visible = spinEdit扬程效率刻度错位数.Visible = false; } Eventech.Model.UnitQ _unitQ = Eventech.Model.UnitQ.M3H; Eventech.Model.UnitH _unitH = Eventech.Model.UnitH.M; Eventech.Model.UnitP _unitP = Eventech.Model.UnitP.KW; Eventech.Model.UnitH _unitNPSH = Eventech.Model.UnitH.M; public void SetCoordinate(Eventech.Model.LxpCoordinateParas coordinateParas) { this.SetCoordinate(coordinateParas, Eventech.Model.UnitQ.M3H, Eventech.Model.UnitH.M, Eventech.Model.UnitP.KW); } public void SetCoordinate( Eventech.Model.LxpCoordinateParas coordinateParas, Eventech.Model.UnitQ unitQ, Eventech.Model.UnitH unitH, Eventech.Model.UnitP unitP, Eventech.Model.UnitH unitNPSH = Eventech.Model.UnitH.M) { this._coordinateParas = coordinateParas; this._unitQ = unitQ; this._unitH = unitH; this._unitP = unitP; this._unitNPSH = unitNPSH; } public void SetChartDiagramPanelStyle(Model.eChartDiagramPanelStyle ChartDiagramPanelStyle) { if (ChartDiagramPanelStyle == Model.eChartDiagramPanelStyle.Two) this.label扬程效率刻度错位数.Visible = spinEdit扬程效率刻度错位数.Visible = true; else this.label扬程效率刻度错位数.Visible = spinEdit扬程效率刻度错位数.Visible = false; } public void IsHaveEta(bool isHave) { groupBoxE.Visible = isHave; } public void IsHaveNpsh(bool isHave) { groupBoxNPSH.Visible = isHave; } private void LoadWindow(object sender, EventArgs e) { if (_coordinateParas == null) return; spinEdit扬程效率刻度错位数.Text = _coordinateParas.DislocationNumUp.ToString(); //流量刻度间隔数 textGridNumberX.Text = _coordinateParas.GridNumberX.ToString(); textGridNumberY.Text = _coordinateParas.GridNumberY.ToString(); textGridNumberX.Enabled = true; if (_unitQ != Eventech.Model.UnitQ.M3H) { textCoordSpaceQ.Text = Eventech.Common.UnitQHelper.fromM3H(_unitQ, _coordinateParas.CoordSpaceQ).ToString("0.00"); textMinDispQ.Text = Eventech.Common.UnitQHelper.fromM3H(_unitQ, _coordinateParas.CoordMinQ).ToString("0.00"); } else { textCoordSpaceQ.Text = _coordinateParas.CoordSpaceQ.ToString(); textMinDispQ.Text = _coordinateParas.CoordMinQ.ToString(); } groupBoxQ.Text = string.Format("{0}({1})", "流量", Eventech.Common.UnitQHelper.GetEnUnitName(_unitQ)); groupBoxH.Text = string.Format("{0}({1})", "扬程", Eventech.Common.UnitHHelper.GetEnUnitName(_unitH)); groupBoxP.Text = string.Format("{0}({1})", "功率", Eventech.Common.UnitPHelper.GetEnUnitName(_unitP)); groupBoxNPSH.Text = string.Format("{0}({1})", "汽蚀", Eventech.Common.UnitHHelper.GetEnUnitName(_unitNPSH)); textStartLineNoH.Text = _coordinateParas.StartLineNoH.ToString(); textEndLineNoH.Text = _coordinateParas.EndLineNoH.ToString(); if (_unitH != Eventech.Model.UnitH.M) { textMaxDispH.Text = Eventech.Common.UnitHHelper.fromM2(_unitH, (_coordinateParas.CoordMinH + _coordinateParas.EndLineNoH * _coordinateParas.CoordSpaceH)).ToString("0.00"); textCoordSpaceH.Text = Eventech.Common.UnitHHelper.fromM2(_unitH, _coordinateParas.CoordSpaceH).ToString("0.00"); } else { textMaxDispH.Text = (_coordinateParas.CoordMinH + _coordinateParas.EndLineNoH * _coordinateParas.CoordSpaceH).ToString(); textCoordSpaceH.Text = _coordinateParas.CoordSpaceH.ToString(); } textEndLineNoE.Text = _coordinateParas.EndLineNoE.ToString(); textStartLineNoE.Text = _coordinateParas.StartLineNoE.ToString(); textCoordSpaceE.Text = _coordinateParas.CoordSpaceE.ToString(); textMaxDispE.Text = (_coordinateParas.CoordMinE + _coordinateParas.EndLineNoE * _coordinateParas.CoordSpaceE).ToString(); double minP = _coordinateParas.CoordMinP + _coordinateParas.StartLineNoP * _coordinateParas.CoordSpaceP; if (minP < 0.001) minP = 0; if (_unitP != Eventech.Model.UnitP.KW) { textMinDispP.Text = Eventech.Common.UnitPHelper.fromKW(_unitP, minP).ToString(); textCoordSpaceP.Text = Eventech.Common.UnitPHelper.fromKW(_unitP, _coordinateParas.CoordSpaceP).ToString(); } else { textMinDispP.Text = minP.ToString(); textCoordSpaceP.Text = _coordinateParas.CoordSpaceP.ToString(); } textStartLineNoP.Text = _coordinateParas.StartLineNoP.ToString(); textEndLineNoP.Text = _coordinateParas.EndLineNoP.ToString(); if (_unitNPSH != Eventech.Model.UnitH.M) { textMinDispNPSH.Text = Math.Round(Eventech.Common.UnitHHelper.fromM(_unitNPSH, _coordinateParas.CoordMinNPSH + _coordinateParas.StartLineNoNPSH * _coordinateParas.CoordSpaceNPSH), 2).ToString(); textStartLineNoNPSH.Text = _coordinateParas.StartLineNoNPSH.ToString(); textEndLineNoNPSH.Text = _coordinateParas.EndLineNoNPSH.ToString(); textCoordSpaceNPSH.Text = Math.Round(Eventech.Common.UnitHHelper.fromM(_unitNPSH, _coordinateParas.CoordSpaceNPSH), 2).ToString(); } else { textMinDispNPSH.Text = (_coordinateParas.CoordMinNPSH + _coordinateParas.StartLineNoNPSH * _coordinateParas.CoordSpaceNPSH).ToString(); textStartLineNoNPSH.Text = _coordinateParas.StartLineNoNPSH.ToString(); textEndLineNoNPSH.Text = _coordinateParas.EndLineNoNPSH.ToString(); textCoordSpaceNPSH.Text = _coordinateParas.CoordSpaceNPSH.ToString(); } } private void btnClose_Click(object sender, EventArgs e) { this.Close(); } private void btnSet_Click(object sender, EventArgs e) { if (OnChangedCoord == null || _coordinateParas == null) return; double space = 0; int start = 0, end = 0, num = 0; double maxValue = 0; double minValue = 0; if (!double.TryParse(textCoordSpaceQ.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (space < 0.1) { XtraMessageBox.Show("刻度值过小,请重新调整"); return; } if (!int.TryParse(textGridNumberX.Text, out num)) { XtraMessageBox.Show("扬程刻度数请输入合理值"); return; } _coordinateParas.GridNumberX = num; if (!int.TryParse(textGridNumberY.Text, out num)) { XtraMessageBox.Show("扬程刻度数请输入合理值"); return; } _coordinateParas.GridNumberY = num; if (spinEdit扬程效率刻度错位数.Visible) _coordinateParas.DislocationNumUp = (int)spinEdit扬程效率刻度错位数.Value; double CoordMinQ = 0; double.TryParse(textMinDispQ.Text, out CoordMinQ); if (_unitQ != Eventech.Model.UnitQ.M3H) { _coordinateParas.CoordMinQ = Eventech.Common.UnitQHelper.toM3H(_unitQ, CoordMinQ); _coordinateParas.CoordSpaceQ = Eventech.Common.UnitQHelper.toM3H(_unitQ, space); } else { _coordinateParas.CoordMinQ = CoordMinQ; _coordinateParas.CoordSpaceQ = space; } if (!int.TryParse(textStartLineNoH.Text, out start)) { XtraMessageBox.Show("扬程刻度数请输入合理值"); return; } if (!int.TryParse(textEndLineNoH.Text, out end)) { XtraMessageBox.Show("扬程刻度数请输入合理值"); return; } if (start >= end - 1) { XtraMessageBox.Show("扬程刻度设置不合理"); return; } if (!double.TryParse(textCoordSpaceH.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (_unitH == Eventech.Model.UnitH.MPa) { if (space < 0.01) { XtraMessageBox.Show("刻度值过小,请重新调整"); return; } } else { if (space < 0.1) { XtraMessageBox.Show("刻度值过小,请重新调整"); return; } } if (!double.TryParse(textMaxDispH.Text, out maxValue)) { XtraMessageBox.Show("请输入合理值"); return; } _coordinateParas.StartLineNoH = start; _coordinateParas.EndLineNoH = end; if (_unitH != Eventech.Model.UnitH.M) { _coordinateParas.CoordSpaceH = Eventech.Common.UnitHHelper.toM2(_unitH, space); _coordinateParas.CoordMinH = Eventech.Common.UnitHHelper.toM2(_unitH, maxValue - _coordinateParas.EndLineNoH * space); } else { _coordinateParas.CoordSpaceH = space; _coordinateParas.CoordMinH = maxValue - _coordinateParas.EndLineNoH * space; } if (groupBoxE.Visible) { if (!int.TryParse(textEndLineNoE.Text, out end)) { XtraMessageBox.Show("效率刻度数请输入合理值"); return; } if (!int.TryParse(textStartLineNoE.Text, out start)) { XtraMessageBox.Show("效率刻度数请输入合理值"); return; } if (start >= end - 1) { XtraMessageBox.Show("效率刻度设置不合理"); return; } if (!double.TryParse(textCoordSpaceE.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (space < 0.1) { XtraMessageBox.Show("刻度值过小,请重新调整"); return; } if (!double.TryParse(textMaxDispE.Text, out maxValue)) { XtraMessageBox.Show("请输入合理值"); return; } _coordinateParas.CoordSpaceE = space; _coordinateParas.StartLineNoE = start; _coordinateParas.EndLineNoE = end; _coordinateParas.CoordMinE = maxValue - _coordinateParas.EndLineNoE * _coordinateParas.CoordSpaceE; } if (!int.TryParse(textStartLineNoP.Text, out start)) { XtraMessageBox.Show("功率刻度数请输入合理值"); return; } if (!int.TryParse(textEndLineNoP.Text, out end)) { XtraMessageBox.Show("功率刻度数请输入合理值"); return; } if (start >= end - 1) { XtraMessageBox.Show("功率刻度设置不合理"); return; } if (!double.TryParse(textCoordSpaceP.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (space < 0.01) { XtraMessageBox.Show("刻度值过小,请重新调整"); return; } if (!double.TryParse(textMinDispP.Text, out minValue)) { XtraMessageBox.Show("请输入合理值"); return; } _coordinateParas.StartLineNoP = start; _coordinateParas.EndLineNoP = end; if (_unitP != Eventech.Model.UnitP.KW) { _coordinateParas.CoordSpaceP = Eventech.Common.UnitPHelper.toKW(_unitP, space); _coordinateParas.CoordMinP = Eventech.Common.UnitPHelper.toKW(_unitP, minValue - _coordinateParas.StartLineNoP * space); } else { _coordinateParas.CoordSpaceP = space; _coordinateParas.CoordMinP = minValue - _coordinateParas.StartLineNoP * _coordinateParas.CoordSpaceP; } if (groupBoxNPSH.Visible) { if (!int.TryParse(textEndLineNoNPSH.Text, out end)) { XtraMessageBox.Show("功率刻度数请输入合理值"); return; } if (!int.TryParse(textStartLineNoNPSH.Text, out start)) { XtraMessageBox.Show("功率刻度数请输入合理值"); return; } if (start >= end) { XtraMessageBox.Show("汽蚀刻度设置不合理"); return; } if (!double.TryParse(textCoordSpaceNPSH.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (!double.TryParse(textMinDispNPSH.Text, out minValue)) { XtraMessageBox.Show("请输入合理值"); return; } _coordinateParas.StartLineNoNPSH = start; _coordinateParas.EndLineNoNPSH = end; if (_unitNPSH != Eventech.Model.UnitH.M) { _coordinateParas.CoordSpaceNPSH = Eventech.Common.UnitHHelper.toM(this._unitNPSH, space); _coordinateParas.CoordMinNPSH = Eventech.Common.UnitHHelper.toM(this._unitNPSH, minValue - _coordinateParas.StartLineNoNPSH * _coordinateParas.CoordSpaceNPSH); } else { _coordinateParas.CoordSpaceNPSH = space; _coordinateParas.CoordMinNPSH = minValue - _coordinateParas.StartLineNoNPSH * _coordinateParas.CoordSpaceNPSH; } } // if (OnChangedCoord != null) OnChangedCoord(this, new LxpCoordEventArgs(_coordinateParas)); } private void textGridNumberP_EditValueChanged(object sender, EventArgs e) { } private void textGridNumberNPSH_EditValueChanged(object sender, EventArgs e) { } } }