Exemple #1
0
        private void mytimer_Tick(Object obj, EventArgs args)
        {
            string strname = "";
            Area   area    = null;

            foreach (KeyValuePair <string, Router> router in CommonCollection.Routers)
            {
                if (null == router.Value)
                {
                    continue;
                }
                if (router.Value.CurType != NodeType.DataNode)
                {//若当前的节点断开了连接,删除掉这个参考点
                    continue;
                }
                if (nodelistview.Items.ContainsKey(router.Key))
                {
                    if (!router.Value.status)
                    {//断开连接了
                        nodelistview.Items.RemoveByKey(router.Key);
                        continue;
                    }
                    ListViewItem[] items = nodelistview.Items.Find(router.Key, false);
                    if (items.Length > 0)
                    {
                        strname = CommonBoxOperation.GetNodeName(router.Key);
                        if (null == strname || "".Equals(strname))
                        {
                            items[0].SubItems[1].Text = "****";
                        }
                        else
                        {
                            items[0].SubItems[1].Text = strname;
                        }
                        area = CommonBoxOperation.GetAreaFromNodeID(router.Key);
                        if (null == area)
                        {
                            items[0].SubItems[2].Text = "****";
                        }
                        else
                        {
                            if (null == area.Name || "".Equals(area.Name))
                            {
                                items[0].SubItems[2].Text = area.ID[0].ToString("X2") + area.ID[1].ToString();
                            }
                            else
                            {
                                items[0].SubItems[2].Text = area.Name;
                            }
                        }
                        items[0].SubItems[3].Text = router.Value.ReportTime.ToString();
                    }
                    continue;
                }
                if (!router.Value.status)
                {//断开连接了
                    nodelistview.Items.RemoveByKey(router.Key);
                    continue;
                }
                ListViewItem item = new ListViewItem();
                item.Text = router.Key;
                item.Name = router.Key;
                strname   = CommonBoxOperation.GetNodeName(router.Key);
                if (null == strname || "".Equals(strname))
                {
                    item.SubItems.Add("****");
                }
                else
                {
                    item.SubItems.Add(strname);
                }
                area = CommonBoxOperation.GetAreaFromNodeID(router.Key);
                if (null == area)
                {
                    item.SubItems.Add("****");
                }
                else
                {
                    if (null == area.Name || "".Equals(area.Name))
                    {
                        item.SubItems.Add(area.ID[0].ToString("X2") + area.ID[1].ToString());
                    }
                    else
                    {
                        item.SubItems.Add(area.Name);
                    }
                }
                item.SubItems.Add(router.Value.ReportTime.ToString());
                nodelistview.Items.Add(item);
            }
        }