using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace IStation.WinFrmUI.CalcErQu { public partial class ManuWizardMainContainter : DocumentPage { public ManuWizardMainContainter() { InitializeComponent(); this.PageTitle.Caption = "手动方案"; this.SurfaceGuid = new SurfaceGuid() { Modular = eModular.CalcErQu2, Function = this.PageTitle.Caption }; } pageManuResult pageCalcResult = null; pageManuParas pageManuParas = null; private void CalcWizardMainContainter_Load(object sender, EventArgs e) { pageManuParas = new pageManuParas(); pageManuParas.Name = "pageManuParas"; pageManuParas.Dock = DockStyle.Fill; pageManuParas.OnNextPageEvent += () => { GoToPage2(); }; this.Controls.Add(pageManuParas); pageManuParas.InitialDataSource(); } public override void InitialDataSource() { base.InitialDataSource(); } private string _lastAnaRequestStr = string.Empty; private void GoToPage2() { if(pageCalcResult == null) { pageCalcResult = new pageManuResult(); pageCalcResult.Name = "pageCalcResult"; pageCalcResult.Dock = DockStyle.Fill; pageCalcResult.SetAnaType(Wizard.eAnaPrjType.Manu); pageCalcResult.OnBeforePageEvent += () => { GoToPage1(); }; this.Controls.Add(pageCalcResult); } var anaRequest = pageManuParas.GetAnaRequest(); if (anaRequest == null) return; var currentJson = JsonHelper.Object2Json(anaRequest); if ( pageManuParas.IsReCalc() || !_lastAnaRequestStr.Equals(currentJson)) { _lastAnaRequestStr = currentJson; IStation.WinFrmUI.WaitFrmHelper.ShowWaitForm(this); pageCalcResult.AnaManuResult(anaRequest, (bol) => { IStation.WinFrmUI.WaitFrmHelper.HideWaitForm(this); if (bol) { pageManuParas.Hide(); pageCalcResult.Show(); } }); } else { pageManuParas.Hide(); pageCalcResult.Show(); } } private void GoToPage1() { if (pageCalcResult != null) { pageCalcResult.Hide(); } pageManuParas.Show(); } } }