/// <summary> /// 动态检测报警配置信息显示 /// </summary> /// <param name="alarmConfig"></param> private void setDataToControl(DH_MOTION_DETECT_CFG alarmConfig) { try { /******************************************* * 此处需要根据动态检测区域结构体中的:动态检 * 测区域的行数和列数做相应的处理 * -------本例程中没有作相应的体现------- *******************************************/ string strTemp ; string strValue; chkAlarmEn.Checked = (alarmConfig.byMotionEn == 1 ? true : false); txtSenseLevel.Text = alarmConfig.wSenseLevel.ToString(); foreach (Control bt in grpDetected.Controls) { if (bt.GetType() == typeof(Button)) { strTemp = ((Button)bt).Tag.ToString().Substring(0, 2); strValue = alarmConfig.byDetected[int.Parse(((Button)bt).Tag.ToString().Substring(0, 1), System.Globalization.NumberStyles.AllowHexSpecifier)].Detected[int.Parse(((Button)bt).Tag.ToString().Substring(1, 1), System.Globalization.NumberStyles.AllowHexSpecifier)].ToString(); switch (strValue) { case "1"://有效 ((Button)bt).BackColor = Color.White; break; case "0"://无效 ((Button)bt).BackColor = Color.Gray; break; } ((Button)bt).Tag = strTemp + strValue; } } setActionMask(alarmConfig.struHandle); cmbAWeeks.SelectedIndex = -1; cmbAWeeks.SelectedIndex = 0; } catch { MessageBox.Show("赋值错误!", pMsgTitle); } }
/// <summary> /// 保存动态检测信息 /// </summary> /// <param name="AlarmConfig"></param> private void AlarmSaveData(ref DH_MOTION_DETECT_CFG AlarmConfig) { cmbAWeeks_DropDown(null, null); AlarmConfig.byMotionEn = (byte)(chkAlarmEn.Checked == true ? 1 : 0); AlarmConfig.wSenseLevel = (ushort)(int.Parse(txtSenseLevel.Text)); AlarmSaveData(ref AlarmConfig.struHandle); }