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 OnServiceStatus(object sender, CService.CStatusArgs e) { lock (cmdLock) { ShowServiceLog("【STATUS】:" + DateTime.Now.ToString("HH:mm:ss.") + DateTime.Now.Millisecond.ToString("D3") + "\r\n", Color.Black); ShowServiceLog("【Topic】:", Color.Black); ShowServiceLog(e.topic + "\r\n", Color.Blue); ShowServiceLog("【Message】:", Color.Black); ShowServiceLog(e.message + "\r\n", Color.Green); for (int i = 0; i < e.data.Data.Count; i++) { ShowDeviceNode(e); } } }