using System; using System.Windows.Forms; using DevComponents.DotNetBar; namespace Cyberpipe { public partial class FrmQuerySensorAlarm : Office2007Form { MainFrm mainFrm; static FrmQuerySensorAlarm frm; public static void ShowForm(MainFrm mF) { if (frm == null) { frm = new FrmQuerySensorAlarm(mF); frm.Show(mF); } else { if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } } public FrmQuerySensorAlarm(MainFrm mF) { InitializeComponent(); mainFrm = mF; } /// <summary> /// 窗体初始化事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmQuerySensorAlarm_Load(object sender, EventArgs e) { if (Utility.sensorMarkerLayers != null) { dataGridViewXSensorList.Columns.Add("sensorType", "传感器类型"); dataGridViewXSensorList.Columns.Add("sensorAlarmValue", "在线报警阀值"); dataGridViewXSensorList.Columns["sensorType"].ReadOnly = true; for (int i = 0; i < Utility.sensorMarkerLayers.Count; i++) { MarkerLayer mLayer = Utility.sensorMarkerLayers[i]; int rowIndex = dataGridViewXSensorList.Rows.Add(); dataGridViewXSensorList.Rows[rowIndex].Cells["sensorType"].Value = mLayer.layerName; dataGridViewXSensorList.Rows[rowIndex].Cells["sensorAlarmValue"].Value = mLayer.alarmValue; } } } /// <summary> /// 启动按钮事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonXStartTimer_Click(object sender, EventArgs e) { bool isStartTimer = false; for (int i = 0; i < dataGridViewXSensorList.Rows.Count; i++) { string strAlarmValue = dataGridViewXSensorList.Rows[i].Cells["sensorAlarmValue"].Value.ToString(); int alarmValue = 0; if (int.TryParse(strAlarmValue, out alarmValue)) { if (alarmValue > 0) { isStartTimer = true; break; } } } if (isStartTimer) { if (mainFrm != null && mainFrm.timerOfSensor != null) { mainFrm.timerOfSensor.Stop(); mainFrm.timerOfSensor.Start(); MessageBox.Show("报警启动成功!", "提示"); Close(); } } else { MessageBox.Show("请先设置传感器阀值,并且传感器阀值必须大于0!", "提示"); } } /// <summary> /// 停止按钮事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonXStopTimer_Click(object sender, EventArgs e) { if (mainFrm != null && mainFrm.timerOfSensor != null) { mainFrm.timerOfSensor.Stop(); MessageBox.Show("报警已经停止!", "提示"); } } /// <summary> /// 窗体关闭事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmQuerySensorAlarm_FormClosing(object sender, FormClosingEventArgs e) { frm = null; } /// <summary> /// 表格的单元格编辑结束事件处理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridViewXSensorList_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex > -1) { string strValue = dataGridViewXSensorList.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Trim(); int iValue = 0; if (!int.TryParse(strValue, out iValue)) { MessageBox.Show("输入的数值不符合要求!", "提示"); dataGridViewXSensorList.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 0; } else { for (int i = 0; i < Utility.sensorMarkerLayers.Count; i++) { MarkerLayer mLayer = Utility.sensorMarkerLayers[i]; if (mLayer.layerName == dataGridViewXSensorList.Rows[e.RowIndex].Cells["sensorType"].Value.ToString().Trim()) { mLayer.alarmValue = iValue; } } } } } } }