public void InitIOTree() { if (this.IsHandleCreated && IOTreeView.InvokeRequired) { IOTreeView.BeginInvoke(new EventHandler(delegate { IOCenterManager.TCPServer.LoadIOProject(this.IOTreeView); })); } }
/// <summary> /// 当前实时设备状态改变信息 /// </summary> /// <param name="device"></param> /// <returns></returns> public void DeviceStatus(string IO_SERVER_ID, IO_DEVICE device, bool status) { if (this.IsHandleCreated && IOTreeView.InvokeRequired) { IOTreeView.BeginInvoke(new EventHandler(delegate { if (this.IOTreeView.Nodes.Count < 0) { return; } for (int i = 0; i < this.IOTreeView.Nodes[0].Nodes.Count; i++) { TreeNode[] tn = this.IOTreeView.Nodes[0].Nodes.Find(device.IO_DEVICE_ID.ToString(), true); for (int j = 0; j < tn.Length; j++) { if (tn.Length == 1 && tn[j] is Controls.IoDeviceTreeNode) { Controls.IoDeviceTreeNode deviceNode = tn[j] as Controls.IoDeviceTreeNode; if (deviceNode != null && deviceNode.Device.IO_SERVER_ID == IO_SERVER_ID) { deviceNode.status = status; if (deviceNode.status) { deviceNode.ForeColor = Color.Green; deviceNode.Parent.ForeColor = Color.Green; deviceNode.Parent.Parent.ForeColor = Color.Green; deviceNode.SelectedImageIndex = 5; deviceNode.ImageIndex = 5; deviceNode.Tag = null; } else { deviceNode.ForeColor = Color.Red; deviceNode.SelectedImageIndex = 4; deviceNode.ImageIndex = 4; deviceNode.Tag = DateTime.Now.ToString("yyyy-MM-dd"); } } } } } })); } IOCenterManager.QueryFormManager.Mediator.IOTreeForm.DeviceStatus(IO_SERVER_ID, device, status); }
public void ServerStatus(EndPoint clientEndPoint, IO_SERVER server, bool status, string mac) { if (this.IsHandleCreated && IOTreeView.InvokeRequired) { IOTreeView.BeginInvoke(new EventHandler(delegate { if (this.IOTreeView.Nodes.Count < 0) { return; } for (int i = 0; i < this.IOTreeView.Nodes.Count; i++) { TreeNode[] tn = this.IOTreeView.Nodes[i].Nodes.Find(server.SERVER_ID.ToString(), false); if (tn.Length == 1) { Controls.IoServerTreeNode serverNode = tn[0] as Controls.IoServerTreeNode; if (serverNode != null) { serverNode.MAC = mac; serverNode.ClientEndPoint = clientEndPoint; if (status) { serverNode.ForeColor = Color.Green; serverNode.Tag = null; serverNode.ImageIndex = 2; serverNode.StateImageIndex = 2; serverNode.Text = clientEndPoint.ToString(); } else { serverNode.ForeColor = Color.Red; serverNode.Tag = DateTime.Now.ToString("yyyy-MM-dd"); serverNode.ImageIndex = 1; serverNode.StateImageIndex = 1; serverNode.Text = server.SERVER_NAME + "未上线"; } } } } })); } IOCenterManager.QueryFormManager.Mediator.IOTreeForm.ServerStatus(clientEndPoint, server, status); }