using System.Collections.Generic; using System.Windows.Forms; namespace IStation.WinFrmUI.Analy { public partial class ParallelCurvePage : DocumentPage { public ParallelCurvePage() { InitializeComponent(); this.PageTitle.Caption = "曲线并联"; this.pumpCurveSelectedTreeList1.AddCurveEvent += (id, name, color, curveQH, curveQE, curveQP) => { this.mainChart.AddCurve(id, name, curveQH, curveQE, curveQP, color); CreateParallelCurve(); }; this.pumpCurveSelectedTreeList1.SetCurveEvent += (id, curveQH, curveQE, curveQP) => { this.mainChart.SetCurve(id, curveQH, curveQE, curveQP); CreateParallelCurve(); }; this.pumpCurveSelectedTreeList1.SetCurveColorEvent += (id, color) => { this.mainChart.SetCurve(id, color); }; this.pumpCurveSelectedTreeList1.DeleteCurveEvent += (id) => { this.mainChart.DeleteCurve(id); CreateParallelCurve(); }; this.pumpCurveSelectedTreeList1.ClearCurveEvent += () => { this.mainChart.DeleteCurve(); }; this.mainChart.OnCalcQueryPoint += (id, pt) => { this.pumpCurveSelectedTreeList1.SetQueryInfo(id, pt); }; } /// /// 创建并联曲线 /// private void CreateParallelCurve() { this.mainChart.DeleteCurve(-1); this.mainChart.GetCurves(out List featCurveExpressGroups); if (featCurveExpressGroups != null && featCurveExpressGroups.Count > 1) { var theConnectCurve = new Model.ConnectCurveHelper(); for (int i = 0; i < featCurveExpressGroups.Count; i++) { var vm = featCurveExpressGroups[i]; theConnectCurve.AddSinglePumpCurve(vm.CurveQH, vm.CurveQP); } if (!theConnectCurve.CalculateParallel(out List connectCurveQH, out List connectCurveQE, out List connectCurveQP)) { MessageBox.Show("这些泵不适合并联"); return; } var curveExpressQH = new Model.CurveExpress(connectCurveQH); var curveExpressQE = new Model.CurveExpress(connectCurveQE); var curveExpressQP = new Model.CurveExpress(connectCurveQP); this.mainChart.AddCurve(-1, "并联曲线", curveExpressQH, curveExpressQE, curveExpressQP, System.Drawing.Color.Black); } } /// /// 初始化数据 /// public override void InitialDataSource() { this.pumpCurveSelectedTreeList1.SetBindingData(); } //清空曲线 private void barBtnClearCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.ClearSelected(); } // private void barBtnExpand_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.Expand(); } // private void barBtnCollapse_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.Collapse(); } // private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.ExpandAll(); } // private void barBtnCollapseAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.CollapseAll(); } // private void barCekSearch_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { this.pumpCurveSelectedTreeList1.Search(this.barCekSearch.Checked); } } }