using DevExpress.XtraEditors; using System; namespace IStation.WinFrmUI.Basic { public partial class SetSingleCoordLxpEDlg : DevExpress.XtraEditors.XtraForm { public event ChangeLxpCoordHandler OnChangedCoord = null; private Eventech.Model.LxpCoordinateParas CoordinateParas = null; public SetSingleCoordLxpEDlg() { InitializeComponent(); } private void LoadWindow(object sender, EventArgs e) { } public void SetBindingData(Eventech.Model.LxpCoordinateParas coord) { this.CoordinateParas = coord; if (CoordinateParas == null) return; comboBoxType.Properties.Items.Add("刻度数,最大最小值"); comboBoxType.Properties.Items.Add("刻度数,间隔量,最小值"); comboBoxType.Properties.Items.Add("间隔量,最大最小值"); comboBoxType.SelectedIndex = 2; //if (type == Eventech.Model.eAxisType.P) //{ // labelMin.Text = "最小功率"; // labelMax.Text = "最大功率"; // checkBox1.Text = "从底部开始"; // //labelSpace.Text = "流量/刻度"; // textStart.Text = CoordinateParas.StartLineNoP.ToString(); // textNumber.Text = (CoordinateParas.EndLineNoP - CoordinateParas.StartLineNoP + 1).ToString(); // textMin.Text = Math.Round((CoordinateParas.CoordMinP + CoordinateParas.StartLineNoP // * CoordinateParas.CoordSpaceP),3).ToString(); // textMax.Text = Math.Round((CoordinateParas.CoordMinP + CoordinateParas.EndLineNoP // * CoordinateParas.CoordSpaceP), 3).ToString(); // textSpace.Text = CoordinateParas.CoordSpaceP.ToString(); //} //if (type == Eventech.Model.eAxisType.E) //{ labelMin.Text = "最小效率"; labelMax.Text = "最大效率"; checkBox1.Text = "从底部开始"; //labelSpace.Text = "流量/刻度"; textStart.Text = CoordinateParas.StartLineNoE.ToString(); textNumber.Text = (CoordinateParas.EndLineNoE - CoordinateParas.StartLineNoE + 1).ToString(); textMin.Text = Math.Round((CoordinateParas.CoordMinE + CoordinateParas.StartLineNoE * CoordinateParas.CoordSpaceE), 3).ToString(); textMax.Text = Math.Round((CoordinateParas.CoordMinE + CoordinateParas.EndLineNoE * CoordinateParas.CoordSpaceE), 3).ToString(); textSpace.Text = CoordinateParas.CoordSpaceE.ToString(); //} //if (type == Eventech.Model.eAxisType.NPSH) //{ // labelMin.Text = "最小汽蚀"; // labelMax.Text = "最大汽蚀"; // checkBox1.Text = "从底部开始"; // //labelSpace.Text = "流量/刻度"; // textStart.Text = CoordinateParas.StartLineNoNPSH.ToString(); // textNumber.Text = (CoordinateParas.EndLineNoNPSH - CoordinateParas.StartLineNoNPSH + 1).ToString(); // textMin.Text = Math.Round((CoordinateParas.CoordMinNPSH + CoordinateParas.StartLineNoNPSH // * CoordinateParas.CoordSpaceNPSH), 3).ToString(); // textMax.Text = Math.Round((CoordinateParas.CoordMinNPSH + CoordinateParas.EndLineNoNPSH // * CoordinateParas.CoordSpaceNPSH), 3).ToString(); // textSpace.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 num = 0; int start = 0; double minValue = 0; double maxValue = 0; if (!double.TryParse(textSpace.Text, out space)) { XtraMessageBox.Show("请输入合理值"); return; } if (space < 0.001) { XtraMessageBox.Show("请输入合理值"); return; } if (!int.TryParse(textNumber.Text, out num)) { XtraMessageBox.Show("刻度数请输入合理值"); return; } if (num < 3) { XtraMessageBox.Show("请输入合理值"); return; } if (!int.TryParse(textStart.Text, out start)) { 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.Text) { case "刻度数,最大最小值": space = Math.Round((maxValue - minValue + 0.001) / (num - 1), 3); textSpace.Text = space.ToString(); break; case "刻度数,间隔量,最小值": maxValue = minValue + space * (num - 1); textMax.Text = maxValue.ToString(); break; case "间隔量,最大最小值": num = (int)((maxValue - minValue + 0.001) / space) + 1; textNumber.Text = num.ToString(); break; } //if (axisType == Eventech.Model.eAxisType.P) //{ // CoordinateParas.StartLineNoP = start; // CoordinateParas.EndLineNoP = start + num - 1; // CoordinateParas.CoordSpaceP = space; // CoordinateParas.CoordMinP = minValue - CoordinateParas.StartLineNoP * CoordinateParas.CoordSpaceP; //} //else if (axisType == Eventech.Model.eAxisType.E) { CoordinateParas.StartLineNoE = start; CoordinateParas.EndLineNoE = start + num - 1; CoordinateParas.CoordSpaceE = space; CoordinateParas.CoordMinE = minValue - CoordinateParas.StartLineNoE * CoordinateParas.CoordSpaceE; } //else if (axisType == Eventech.Model.eAxisType.NPSH) //{ // CoordinateParas.StartLineNoNPSH = start; // CoordinateParas.EndLineNoNPSH = start + num - 1; // CoordinateParas.CoordSpaceNPSH = space; // CoordinateParas.CoordMinNPSH = minValue - CoordinateParas.StartLineNoNPSH * CoordinateParas.CoordSpaceNPSH; //} // OnChangedCoord(this, new LxpCoordEventArgs(CoordinateParas)); } private void checkBox1_CheckedChanged(object sender, EventArgs e) { textStart.Enabled = !checkBox1.Checked; if (checkBox1.Checked) { textStart.Text = "0"; } } private void comboBoxType_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBoxType.Text) { case "刻度数,最大最小值": 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 "刻度数,间隔量,最小值": 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 "间隔量,最大最小值": 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; } } } }