/// <summary> /// 通道快捷菜单单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BruiseChannelcontextMenuStrip_Click(object sender, EventArgs e) { try { ToolStripMenuItem menuItem = (ToolStripMenuItem)sender; m_CurrentBruiseChannelIndex = this.BruiseChannelcontextMenuStrip.Items.IndexOf(menuItem); //m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex])); if (GlobalDataInterface.nVer == 1) //版本号判断 add by xcw 20200604 { //m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPMChannel(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex])); m_BruiseCurrentIPM_ID = m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]; } else if (GlobalDataInterface.nVer == 0) { m_BruiseCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]), Commonfunction.GetIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex])); } stCameraNum cameraNum = new stCameraNum(true); switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo) //Modify by ChengSk - 20190520 { case 64: //NIR2-右 cameraNum.cCameraNum = 0; break; case 128: //NIR2-中 cameraNum.cCameraNum = 0; break; case 256: //NIR2-左 cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]) * ConstPreDefine.CHANNEL_NUM); break; case 1: //彩色-右 cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_BruiseChanelIDList[m_CurrentBruiseChannelIndex]) * ConstPreDefine.CHANNEL_NUM); break; } if (GlobalDataInterface.global_IsTestMode) { GlobalDataInterface.TransmitParam(m_BruiseCurrentIPM_ID, (int)HC_FSM_COMMAND_TYPE.HC_CMD_GRADEINFO_OFF, null); GlobalDataInterface.TransmitParam(m_BruiseCurrentIPM_ID, (int)HC_IPM_COMMAND_TYPE.HC_CMD_SINGLE_SAMPLE_SPOT, cameraNum); } } catch (Exception ex) { Trace.WriteLine("QualityParamSetForm-BruiseSetFormt中函数BruiseChannelcontextMenuStrip_Click出错" + ex); #if REALEASE GlobalDataInterface.WriteErrorInfo("QualityParamSetForm-BruiseSetFormt中函数BruiseChannelcontextMenuStrip_Click出错" + ex); #endif } }
/// <summary> /// 上传水果等级信息刷新 /// </summary> /// <param name="fruitGradeInfo"></param> public void OnUpFruitGradeInfo(stFruitGradeInfo fruitGradeInfo) { if (GlobalDataInterface.nVer == 0) { try { if (this == Form.ActiveForm)//是否操作当前窗体 { if (this.InvokeRequired) { this.BeginInvoke(new GlobalDataInterface.FruitGradeInfoEventHandler(OnUpFruitGradeInfo), fruitGradeInfo); } else { int ChannelInIPMIndex = Commonfunction.ChanelInIPMIndex(m_ChannelIDList[m_CurrentChannelIndex]); if (fruitGradeInfo.param[Index].unGrade == 0x7f7f7f7f) { return; } uint SizeGradeIndex, QualfGradeIndex; byte[] temp = new byte[ConstPreDefine.MAX_TEXT_LENGTH]; string GradeName; //通道1 if (fruitGradeInfo.param[Index].unGrade != 0x7f7f7f7f) { if (this.DiametertextBox1.Enabled == true) { this.DiametertextBox1.Text = fruitGradeInfo.param[Index].visionParam.unSelectBasis.ToString("0.0");//直径 } if (this.AreatextBox1.Enabled == true) { this.AreatextBox1.Text = fruitGradeInfo.param[Index].visionParam.unArea.ToString();//投影面积 } if (this.VolumetextBox1.Enabled == true) { this.VolumetextBox1.Text = fruitGradeInfo.param[Index].visionParam.unVolume.ToString();//体积 } if (this.ColorRate0textBox1.Enabled == true) { this.ColorRate0textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate0 / 2).ToString();//颜色比例1 } if (this.ColorRate1textBox1.Enabled == true) { this.ColorRate1textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate1 / 2).ToString();//颜色比例2 } if (this.ColorRate2textBox1.Enabled == true) { this.ColorRate2textBox1.Text = (fruitGradeInfo.param[Index].visionParam.unColorRate2 / 2).ToString();//颜色比例3 } if (this.FlawAreatextBox1.Enabled == true) { this.FlawAreatextBox1.Text = fruitGradeInfo.param[Index].visionParam.unFlawArea.ToString();//瑕疵面积 } if (this.FlawNumtextBox1.Enabled == true) { this.FlawNumtextBox1.Text = fruitGradeInfo.param[Index].visionParam.unFlawNum.ToString(); //瑕疵个数 } if (this.VerticalAxistextBox1.Enabled == true) //Add by ChengSk - 20180802 { //Modify by ChengSk - 20190923 //this.VerticalAxistextBox1.Text = fruitGradeInfo.param.visionParam.unVertiSACenterD.ToString("0.000");//垂轴径 } if (this.DiameterRatiotextBox1.Enabled == true) { this.DiameterRatiotextBox1.Text = fruitGradeInfo.param[Index].visionParam.fDiameterRatio.ToString();//横径比 } if (this.MinDRatiotextBox.Enabled == true) { this.MinDRatiotextBox.Text = fruitGradeInfo.param[Index].visionParam.fMinDRatio.ToString();//扁椭型横径比 } if (this.BruiseAreatextBox1.Enabled == true) { this.BruiseAreatextBox1.Text = fruitGradeInfo.param[Index].uvParam.unBruiseArea.ToString("0.00");//擦伤面积 } if (this.BruiseNumtextBox1.Enabled == true) { this.BruiseNumtextBox1.Text = fruitGradeInfo.param[Index].uvParam.unBruiseNum.ToString("0.00");//擦伤个数 } if (this.RotAreatextBox1.Enabled == true) { this.RotAreatextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRotArea.ToString("0.00");//腐烂面积 } if (this.RotNumtextBox1.Enabled == true) { this.RotNumtextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRotNum.ToString("0.00");//腐烂个数 } if (this.WeighttextBox1.Enabled == true) { this.WeighttextBox1.Text = fruitGradeInfo.param[Index].fWeight.ToString("0.00");//重量 } if (this.DensitytextBox1.Enabled == true) { this.DensitytextBox1.Text = fruitGradeInfo.param[Index].fDensity.ToString("0.00");//密度 } if (this.SugartextBox1.Enabled == true) { if (fruitGradeInfo.param[Index].nirParam.fSugar == 0x7f7f7f7f) { this.SugartextBox1.Text = "0.00";//糖度 } else { this.SugartextBox1.Text = fruitGradeInfo.param[Index].nirParam.fSugar.ToString("0.00");//糖度 } } if (this.AciditytextBox1.Enabled == true) { if (fruitGradeInfo.param[Index].nirParam.fAcidity == 0x7f7f7f7f) { this.AciditytextBox1.Text = "0.00"; } else { this.AciditytextBox1.Text = fruitGradeInfo.param[Index].nirParam.fAcidity.ToString("0.00");//酸度 } } if (this.HollowtextBox1.Enabled == true) { this.HollowtextBox1.Text = fruitGradeInfo.param[Index].nirParam.fHollow.ToString("0.00");//空心 } if (this.SkintextBox1.Enabled == true) { this.SkintextBox1.Text = fruitGradeInfo.param[Index].nirParam.fSkin.ToString("0.00");//浮皮 } if (this.BrowntextBox1.Enabled == true) { this.BrowntextBox1.Text = fruitGradeInfo.param[Index].nirParam.fBrown.ToString("0.00");//褐变 } if (this.TangxintextBox1.Enabled == true) { this.TangxintextBox1.Text = fruitGradeInfo.param[Index].nirParam.fTangxin.ToString("0.00");//糖心 } if (this.RigiditytextBox1.Enabled == true) { this.RigiditytextBox1.Text = fruitGradeInfo.param[Index].uvParam.unRigidity.ToString("0.00");//硬度 } if (this.WatertextBox1.Enabled == true) { this.WatertextBox1.Text = fruitGradeInfo.param[Index].uvParam.unWater.ToString("0.00");//含水率 } //等级名称 //if ((GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 57) > 0 && (GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 7) > 0)//品质与尺寸或者品质与重量 if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType > 0)//品质与尺寸或者品质与重量 { SizeGradeIndex = fruitGradeInfo.param[Index].unGrade & 15; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); QualfGradeIndex = (fruitGradeInfo.param[Index].unGrade & 240) >> 4; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName += "." + Encoding.Default.GetString(temp).TrimEnd('\0'); } //else if (GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 1)//品质 else if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 0) //只有品质 { QualfGradeIndex = fruitGradeInfo.param[Index].unGrade & 240; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); } else//尺寸 { SizeGradeIndex = fruitGradeInfo.param[Index].unGrade & 15; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); } this.GradetextBox1.Text = GradeName; } } } } catch (Exception ex) { Trace.WriteLine("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex); #if REALEASE GlobalDataInterface.WriteErrorInfo("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex); #endif } } else { try { if (this == Form.ActiveForm)//是否操作当前窗体 { if (this.InvokeRequired) { this.BeginInvoke(new GlobalDataInterface.FruitGradeInfoEventHandler(OnUpFruitGradeInfo), fruitGradeInfo); } else { int ChannelInIPMIndex = Commonfunction.ChanelInIPMIndex(m_ChannelIDList[m_CurrentChannelIndex]); if (fruitGradeInfo.param[ChannelInIPMIndex].unGrade == 0x7f7f7f7f) { return; } uint SizeGradeIndex, QualfGradeIndex; byte[] temp = new byte[ConstPreDefine.MAX_TEXT_LENGTH]; string GradeName; //通道1 if (fruitGradeInfo.param[ChannelInIPMIndex].unGrade != 0x7f7f7f7f) { if (this.DiametertextBox1.Enabled == true) { this.DiametertextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unSelectBasis.ToString("0.0");//直径 } if (this.AreatextBox1.Enabled == true) { this.AreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unArea.ToString();//投影面积 } if (this.VolumetextBox1.Enabled == true) { this.VolumetextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unVolume.ToString();//体积 } if (this.ColorRate0textBox1.Enabled == true) { this.ColorRate0textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate0 / 2).ToString();//颜色比例1 } if (this.ColorRate1textBox1.Enabled == true) { this.ColorRate1textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate1 / 2).ToString();//颜色比例2 } if (this.ColorRate2textBox1.Enabled == true) { this.ColorRate2textBox1.Text = (fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unColorRate2 / 2).ToString();//颜色比例3 } if (this.FlawAreatextBox1.Enabled == true) { this.FlawAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unFlawArea.ToString();//瑕疵面积 } if (this.FlawNumtextBox1.Enabled == true) { this.FlawNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unFlawNum.ToString(); //瑕疵个数 } if (this.VerticalAxistextBox1.Enabled == true) //Add by ChengSk - 20180802 { //Modify by ChengSk - 20190923 //this.VerticalAxistextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.unVertiSACenterD.ToString("0.000");//垂轴径 } if (this.DiameterRatiotextBox1.Enabled == true) { this.DiameterRatiotextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.fDiameterRatio.ToString();//横径比 } if (this.MinDRatiotextBox.Enabled == true) { this.MinDRatiotextBox.Text = fruitGradeInfo.param[ChannelInIPMIndex].visionParam.fMinDRatio.ToString();//扁椭型横径比 } if (this.BruiseAreatextBox1.Enabled == true) { this.BruiseAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unBruiseArea.ToString("0.00");//擦伤面积 } if (this.BruiseNumtextBox1.Enabled == true) { this.BruiseNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unBruiseNum.ToString("0.00");//擦伤个数 } if (this.RotAreatextBox1.Enabled == true) { this.RotAreatextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRotArea.ToString("0.00");//腐烂面积 } if (this.RotNumtextBox1.Enabled == true) { this.RotNumtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRotNum.ToString("0.00");//腐烂个数 } if (this.WeighttextBox1.Enabled == true) { this.WeighttextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].fWeight.ToString("0.00");//重量 } if (this.DensitytextBox1.Enabled == true) { this.DensitytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].fDensity.ToString("0.00");//密度 } if (this.SugartextBox1.Enabled == true) { if (fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSugar == 0x7f7f7f7f) { this.SugartextBox1.Text = "0.00";//糖度 } else { this.SugartextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSugar.ToString("0.00");//糖度 } } if (this.AciditytextBox1.Enabled == true) { if (fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fAcidity == 0x7f7f7f7f) { this.AciditytextBox1.Text = "0.00"; } else { this.AciditytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fAcidity.ToString("0.00");//酸度 } } if (this.HollowtextBox1.Enabled == true) { this.HollowtextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fHollow.ToString("0.00");//空心 } if (this.SkintextBox1.Enabled == true) { this.SkintextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fSkin.ToString("0.00");//浮皮 } if (this.BrowntextBox1.Enabled == true) { this.BrowntextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fBrown.ToString("0.00");//褐变 } if (this.TangxintextBox1.Enabled == true) { this.TangxintextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].nirParam.fTangxin.ToString("0.00");//糖心 } if (this.RigiditytextBox1.Enabled == true) { this.RigiditytextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unRigidity.ToString("0.00");//硬度 } if (this.WatertextBox1.Enabled == true) { this.WatertextBox1.Text = fruitGradeInfo.param[ChannelInIPMIndex].uvParam.unWater.ToString("0.00");//含水率 } //等级名称 //if ((GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 57) > 0 && (GlobalDataInterface.globalOut_GradeInfo.nClassifyType & 7) > 0)//品质与尺寸或者品质与重量 if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType > 0)//品质与尺寸或者品质与重量 { SizeGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 15; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); QualfGradeIndex = (fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 240) >> 4; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName += "." + Encoding.Default.GetString(temp).TrimEnd('\0'); } //else if (GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 1)//品质 else if (GlobalDataInterface.globalOut_GradeInfo.nQualityGradeNum > 0 && GlobalDataInterface.globalOut_GradeInfo.nClassifyType == 0) //只有品质 { QualfGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 240; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strQualityGradeName, QualfGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); } else//尺寸 { SizeGradeIndex = fruitGradeInfo.param[ChannelInIPMIndex].unGrade & 15; Array.Copy(GlobalDataInterface.globalOut_GradeInfo.strSizeGradeName, SizeGradeIndex * ConstPreDefine.MAX_TEXT_LENGTH, temp, 0, ConstPreDefine.MAX_TEXT_LENGTH); GradeName = Encoding.Default.GetString(temp).TrimEnd('\0'); } this.GradetextBox1.Text = GradeName; } } } } catch (Exception ex) { Trace.WriteLine("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex); #if REALEASE GlobalDataInterface.WriteErrorInfo("FruitParamForm中函数OnUpFruitGradeInfo出错" + ex); #endif } } }
/// <summary> /// 腐烂参数设置子界面快捷键事件 /// </summary> /// <param name="selectchannelNo"></param> private void TabControlSelectedIndex4Event(int selectchannelNo) { int SelectChannelNo = selectchannelNo; if (SelectChannelNo > 0 && SelectChannelNo <= ChannelNum) { try { m_CurrentRotChannelIndex = SelectChannelNo - 1; //m_RotCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex])); if (GlobalDataInterface.nVer == 1) //版本号判断 add by xcw 20200604 { m_RotCurrentIPM_ID = m_RotChanelIDList[m_CurrentRotChannelIndex]; //m_RotCurrentIPM_ID = Commonfunction.EncodeIPMChannel(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex])); } else if (GlobalDataInterface.nVer == 0) { m_RotCurrentIPM_ID = Commonfunction.EncodeIPM(Commonfunction.GetSubsysIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]), Commonfunction.GetIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex])); } stCameraNum cameraNum = new stCameraNum(true); // cameraNum.bChannelIndex = (byte)Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]); //switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo) //{ // case 1: // cameraNum.cCameraNum = 0; // break; // case 2: // cameraNum.cCameraNum = 0; // break; // case 4: // cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM); // break; // case 8: // cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM); // break; //} switch (GlobalDataInterface.globalOut_SysConfig.nSystemInfo) //Modify by ChengSk - 20190520 { case 64: //NIR2-右 cameraNum.cCameraNum = 0; break; case 128: //NIR2-中 cameraNum.cCameraNum = 0; break; case 256: //NIR2-左 cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM); break; case 1: //彩色-右 cameraNum.cCameraNum = (byte)(Commonfunction.ChanelInIPMIndex(m_RotChanelIDList[m_CurrentRotChannelIndex]) * ConstPreDefine.CHANNEL_NUM); break; } if (GlobalDataInterface.global_IsTestMode) { GlobalDataInterface.TransmitParam(m_RotCurrentIPM_ID, (int)HC_FSM_COMMAND_TYPE.HC_CMD_GRADEINFO_OFF, null); GlobalDataInterface.TransmitParam(m_RotCurrentIPM_ID, (int)HC_IPM_COMMAND_TYPE.HC_CMD_SINGLE_SAMPLE_SPOT, cameraNum); } } catch (Exception ex) { Trace.WriteLine("QualityParamSetForm中函数TabControlSelectedIndex4Event出错" + ex + "\n" + ex.StackTrace); #if REALEASE GlobalDataInterface.WriteErrorInfo("QualityParamSetForm中函数TabControlSelectedIndex4Event出错" + ex + "\n" + ex.StackTrace); #endif } } }