private void ShowDeviceNode(CService.CStatusArgs e) { if (this.InvokeRequired) { this.Invoke(new Action <CService.CStatusArgs>(ShowDeviceNode), e); } else { for (int i = 0; i < e.data.Data.Count; i++) { string idNo = e.data.Data[i].ID; EDevRunStatus runStatus = (EDevRunStatus)e.data.Data[i].RunStatus; if (!_deviceList.ContainsKey(idNo)) { _deviceList.Add(idNo, new CDevice() { IdNo = idNo, Name = e.data.Data[i].Name, RunStatus = runStatus, Count = 0 }); NodeView.Rows.Add(NodeView.Rows.Count + 1, idNo, e.data.Data[i].Name, runStatus.ToString(), e.data.Data[i].TTNum, e.data.Data[i].FailNum, 1); _deviceRows.Add(idNo, NodeView.Rows.Count); } _deviceList[idNo].RunStatus = runStatus; _deviceList[idNo].Count++; NodeView.Rows[_deviceRows[idNo] - 1].Cells[3].Value = runStatus.ToString(); NodeView.Rows[_deviceRows[idNo] - 1].Cells[4].Value = e.data.Data[i].TTNum; NodeView.Rows[_deviceRows[idNo] - 1].Cells[5].Value = e.data.Data[i].FailNum; NodeView.Rows[_deviceRows[idNo] - 1].Cells[6].Value = _deviceList[idNo].Count; } } }
private void btnServerCmd_Click(object sender, EventArgs e) { try { btnServerCmd.Enabled = false; string er = string.Empty; EMessageType messType = EMessageType.广播指令; string cmdInfo = txtCmdInfo.Text; if (cmbMesType.SelectedIndex == 1) { messType = EMessageType.应答指令; EDevRunStatus runStat = (EDevRunStatus)Enum.Parse(typeof(EDevRunStatus), cmbCmdInfo.Text); cmdInfo = ((int)runStat).ToString(); } ECmdType cmdType = (ECmdType)cmbCmdType.SelectedIndex; string cmdName = cmdType.ToString(); if (!_service.Publish_ALL(messType, cmdType, cmdName, cmdInfo, out er)) { ShowServiceStatus(er, true); return; } ShowServiceStatus("发布消息OK", false); } catch (Exception ex) { ShowServiceStatus(ex.ToString(), false); } finally { btnServerCmd.Enabled = true; } }