using System; using System.Collections.Generic; using System.Windows.Forms; namespace OTSMeasureApp { //Ribbon 按钮对应的ID enum RibbonButnID { NewDocment = 196, //新建 OpenDocment = 197, //打开 Save = 198, //保存 SaveAs = 199, //另存为 File_NewDocment = 200, //新建 File_OpenDocment = 201, //打开 File_Save = 202, //保存 File_SaveAs = 203, //另存为 Sample_AddSampl = 204, //添加样品 Sample_DeleteSample = 205, //删除样品 Sample_Reset = 206, //复位 Sample_DrawCircle = 207, //画圆 Sample_DrawRectang = 208, //画矩形 Sample_DrawPolygon = 2081, //画矩形 Fun_Start = 209, //开始 Fun_Stop = 210, //停止 Fun_CheckPara = 211, //检测参数 Fun_CloseSem = 212, //关闭Sem开关 View_Ruler = 213, //标尺 View_SPhoto = 214, //样品孔照片 View_SName = 215, //样品孔名称 View_Recover = 216, //恢复 File_Base = 217, //文件功能 Sample_Base = 218, //样品功能 Funciton_Base = 219, //样品操作功能 View_Base = 220, //视图功能 Fun_Report = 221, //跳转至报告功能 Fun_Pause = 222 //暂停 } public class OTSRibbonFun { OTSIncAMeasureAppForm m_MeasureAppForm = null; public OTSRibbonFun(OTSIncAMeasureAppForm MeasureAppForm) { m_MeasureAppForm = MeasureAppForm; } // 设置 开始 ,停止 和检查参数 按钮状态 public void SetMeasureRibbonButnStatu() { bool bSampleCheckBoxFalg = m_MeasureAppForm.m_ProjParam.GetSampleCheckBoxStatus(); bool bFlag; if (!bSampleCheckBoxFalg) { bFlag = false; } else { bFlag = true; } if (m_MeasureAppForm.MeasureThreadRunFlag) //当正在测量时,开始按钮变灰色 { m_MeasureAppForm.rbStart.Enabled = false; } else { m_MeasureAppForm.rbStart.Enabled = bFlag; } if (m_MeasureAppForm.MeasureThreadRunFlag) //当前正在运行的时候,才可以点击暂停 { if (m_MeasureAppForm.GetRunType() == MSR_RUN_TYPE.RUNMEASURE) { m_MeasureAppForm.rbPause.Enabled = bFlag; } else { m_MeasureAppForm.rbPause.Enabled = false; } } else { m_MeasureAppForm.rbPause.Enabled = false; } if (bFlag && m_MeasureAppForm.MeasureThreadRunFlag) //当前正在运行的时候,才可以点击停止 { m_MeasureAppForm.rbStop.Enabled = bFlag; } else { m_MeasureAppForm.rbStop.Enabled = false; } if (m_MeasureAppForm.MeasureThreadRunFlag) { m_MeasureAppForm.rbCheckParam.Enabled = false; } else { m_MeasureAppForm.rbCheckParam.Enabled = bFlag; } } //Enable/DisEnable 工具栏里的 新建,打开,保存,另存为, 退出,选择 public void SetToolButnStatu(bool bStatu) { m_MeasureAppForm.rbNewDocument.Enabled = bStatu; m_MeasureAppForm.rbOpenFile.Enabled = bStatu; m_MeasureAppForm.rbSaveFile.Enabled = bStatu; m_MeasureAppForm.rvSaveAsFile.Enabled = bStatu; m_MeasureAppForm.rbExitApp.Enabled = bStatu; m_MeasureAppForm.rbSelectDlg.Enabled = bStatu; } //设置 删除,复位,圆形,矩形 按钮状态 public void SetSampleRibbonButnStatus() { List RibbonIdList = new List(); RibbonIdList.Add((int)RibbonButnID.Sample_DeleteSample); RibbonIdList.Add((int)RibbonButnID.Sample_Reset); RibbonIdList.Add((int)RibbonButnID.Sample_DrawCircle); RibbonIdList.Add((int)RibbonButnID.Sample_DrawRectang); RibbonIdList.Add((int)RibbonButnID.Sample_DrawPolygon); if (0 == m_MeasureAppForm.m_ProjParam.GetSampleCount()) { SetRibbonButonWorkListStatu(RibbonIdList,false); } else { SetRibbonButonWorkListStatu(RibbonIdList,true); } } //设置 跳转至报告 按钮状态 public void SetReprotRibbonButnStatu() { //设置跳转至报告程序按钮状态 m_MeasureAppForm.rbPReport.Enabled = false; m_MeasureAppForm.rbReport.Enabled = false; m_MeasureAppForm.rbReClassify.Enabled = true; //判断打开的文件是否存在测量结果文件路径 List mrFilePathList = new List(); bool result = m_MeasureAppForm.m_ProjParam.GetCompletedMeasureFileName(ref mrFilePathList); //根据结果设置报告按钮启用状态 if (result) { m_MeasureAppForm.rbPReport.Enabled = true; m_MeasureAppForm.rbReport.Enabled = true; m_MeasureAppForm.rbReClassify.Enabled = true; } else { m_MeasureAppForm.rbPReport.Enabled = false; m_MeasureAppForm.rbReport.Enabled = false; m_MeasureAppForm.rbReClassify.Enabled = true; } } //设置Ribbon按钮的可用/不可用。 bRibStstu=True: 可用; bRibStstu=False: 不可用 public void SetAllRibbonButnStatus(bool bRibStstu) { m_MeasureAppForm.rbPanelSample.Enabled = bRibStstu; m_MeasureAppForm.rbPanelFunction.Enabled = bRibStstu; m_MeasureAppForm.rbMenu.Tabs[0].Panels[0].Enabled = bRibStstu; //Menu中的基本功能中的文件 rbMenu.Tabs[0]=基本功能; rbMenu.Tabs[0].Panels[0]=文件 m_MeasureAppForm.rbMenu.Tabs[1].Panels[0].Enabled = bRibStstu; //Menu中的视图功能中的视图 rbMenu.Tabs[1]=视图功能; rbMenu.Tabs[1].Panels[0]=视图 // m_MeasureAppForm.rbNew.Enabled = false; //下拉菜单中的 新建,打开,保存,另存为 m_MeasureAppForm.rbNewDocument.Enabled = bRibStstu; m_MeasureAppForm.rbOpenFile.Enabled = bRibStstu; m_MeasureAppForm.rbSaveFile.Enabled = bRibStstu; m_MeasureAppForm.rvSaveAsFile.Enabled = bRibStstu; m_MeasureAppForm.rbOpenFile.Enabled = true; m_MeasureAppForm.rbOpen.Enabled = true; if(bRibStstu) { //设置开始,停止,检查参数按钮 SetMeasureRibbonButnStatu(); //设置 删除,复位,圆形,矩形 按钮状态 SetSampleRibbonButnStatus(); //设置 跳转至报告 按钮状态 SetReprotRibbonButnStatu(); } } // 设置Ribbon 按钮 有效/无效 //RibbonButnIDList: 需要设置的RibbonButnID, bFlag=True: 设置为可用; bFlag=False: 设置为不可用 public void SetRibbonButonWorkListStatu(List RibbonButnIDList, bool bFlag) { if (RibbonButnIDList.Count == 0) { return; } for (int i = 0; i < RibbonButnIDList.Count; i++) { if (RibbonButnIDList[i] == (int)RibbonButnID.NewDocment) { m_MeasureAppForm.rbNewDocument.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.File_NewDocment) { m_MeasureAppForm.rbNew.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.OpenDocment) { m_MeasureAppForm.rbOpenFile.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.File_OpenDocment) { m_MeasureAppForm.rbOpen.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Save) { m_MeasureAppForm.rbSaveFile.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.File_Save) { m_MeasureAppForm.rbSave.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.SaveAs) { m_MeasureAppForm.rvSaveAsFile.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.File_SaveAs) { m_MeasureAppForm.rbSaveAs.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_AddSampl) { m_MeasureAppForm.rbAddSample.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_DeleteSample) { m_MeasureAppForm.rbDeleteSample.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_Reset) { m_MeasureAppForm.ribReset.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_DrawCircle) { m_MeasureAppForm.ribCircle.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_DrawRectang) { m_MeasureAppForm.ribRectangle.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_DrawPolygon) { m_MeasureAppForm.ribPolygon.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.View_Ruler) { m_MeasureAppForm.rbRuler.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.View_SPhoto) { m_MeasureAppForm.rbSmaplePhoto.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.View_SName) { m_MeasureAppForm.rbSmapleName.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.View_Recover) { m_MeasureAppForm.rbRecover.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.File_Base) { m_MeasureAppForm.rbMenu.Tabs[0].Panels[0].Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Sample_Base) { m_MeasureAppForm.rbPanelSample.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Funciton_Base) { m_MeasureAppForm.rbPanelFunction.Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.View_Base) { m_MeasureAppForm.rbMenu.Tabs[1].Panels[0].Enabled = bFlag; continue; } if (RibbonButnIDList[i] == (int)RibbonButnID.Fun_Report) { m_MeasureAppForm.rbMenu.Tabs[1].Panels[0].Enabled = bFlag; continue; } } } } }