예제 #1
0
 public void InitIOTree()
 {
     if (this.IsHandleCreated && IOTreeView.InvokeRequired)
     {
         IOTreeView.BeginInvoke(new EventHandler(delegate
         {
             IOCenterManager.TCPServer.LoadIOProject(this.IOTreeView);
         }));
     }
 }
예제 #2
0
        /// <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);
        }
예제 #3
0
 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);
 }