using System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; using System.Text; using System.Linq; namespace DPumpHydr.WinFrmUI.Volute { public partial class MainViewPage { //步骤控件 StepTreeDockPanel _stepTreeDockPanel = null; /// /// 下一步核心 /// /// private bool GoNextStepCore() { var currentStepID = this._stepTreeDockPanel.CurrentStepID; // var next_step_id = this._stepTreeDockPanel.NextStepID; if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full) { next_step_id = this._stepTreeDockPanel.Step_ID_Outflow_Paras; } if (next_step_id > 0) { if (currentStepID == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { if (!SaveParaStep1()) return false; } else if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full) { if (!SaveParaStep2()) return false; } else if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { if (!SaveParaStep3()) return false; } else { } this.SetParasCtrl(currentStepID, next_step_id ); // this._stepTreeDockPanel.SetFocusedNode(next_step_id); } CheckStepBtnStatus(); return true; } /// /// 上一步核心 /// /// private bool GoPrevStepCore() { var currentStepID = this._stepTreeDockPanel.CurrentStepID; ParasInfoBaseCtrl paras_ctrl = GetParasCtrl(currentStepID); //if (paras_ctrl != null && paras_ctrl.IsChangesParas()) //{ // DialogResult result = MessageBox.Show("已经修改过的数据需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); // if (result == DialogResult.OK) // { // if (SaveStepParas(currentStepID) == false) // { // return false; // } // } //} var prev_step_id = this._stepTreeDockPanel.PrevStepID; if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { prev_step_id = this._stepTreeDockPanel.Step_ID_Section18_Full; } if (prev_step_id == 0) return false; this.SetParasCtrl(currentStepID, prev_step_id); // this._stepTreeDockPanel.SetFocusedNode(prev_step_id); CheckStepBtnStatus(); return true; } /// /// 生成控件的参数控件 /// /// private void SetParasCtrl(long last_step_id, long current_step_id) { Rbtn数据导出STP.Visible = false; Rbtn数据导出IGS.Visible = false; #region 第1步 if (current_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { EnterStep1(last_step_id); return; } #endregion #region 第2步 if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { EnterStep2(last_step_id); return; } #endregion #region 第3步 1-8断面 if (current_step_id > this._stepTreeDockPanel.Step_ID_Section18_Grp && current_step_id <= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8) { if (_sectionBundleInfo == null) return; if (_ctrlSectionShapeInfo18 == null) { _ctrlSectionShapeInfo18 = new ctrlSectionShapeInfo18(); _ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18"; _ctrlSectionShapeInfo18.OnRefreshShape += RefreshSectShapeSingle18; } DockStepParaCtrl(_ctrlSectionShapeInfo18); var sect_index = 9 + this._stepTreeDockPanel.Step_ID_Section18_Grp - current_step_id; var shape_info = _sectionBundleInfo.ToSectionShapePara((int)sect_index); RefreshSectShapeSingle18(shape_info); _ctrlSectionShapeInfo18.SetBindingData(shape_info); this._sectAreaDockPanel.RefreshControl(); this._sectAreaDockPanel.Visible = true; this._occDesign2dCtrl.SetAllSectionCurveVisible(true); this._occDesign3dCtrl.SetAllSectionCurveVisible(true); return; } #endregion #region 出水面参数 if (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras) { EnterStep3(last_step_id); return; } #endregion #region 加厚 if (current_step_id == this._stepTreeDockPanel.Step_ID_jiahout) { if (_sectionBundleInfo == null) return; EnterStep4(last_step_id); return; } #endregion } /// /// 获取当前步骤的参数控制控件 /// /// private DPumpHydr.WinFrmUI.Volute.ParasInfoBaseCtrl GetParasCtrl(long step_id) { if (step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info) { return _ctrlHdrBaseInfo; } //第二步 if (step_id == this._stepTreeDockPanel.Step_ID_Section18_Full) { return _ctrlSectionBundleInfo; } //1-8断面进行下一步点击 if (step_id >= this._stepTreeDockPanel.Step_ID_Section18_Grp && step_id >= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8) { return _ctrlSectionShapeInfo18; } return null; } /// /// /// /// private void DockStepParaCtrl(ParasInfoBaseCtrl ctrl) { this._parasDockPanel.Controls.Clear(); ctrl.Dock = DockStyle.Fill; this._parasDockPanel.Controls.Add(ctrl); } /// /// 下一步 /// /// public bool GoNextStep() { return GoNextStepCore(); } /// /// 上一步 /// /// public bool GoPrevStep() { return GoPrevStepCore(); } } }