예제 #1
0
파일: FormMain.cs 프로젝트: Mutexman/LC
        /// <summary>
        /// Метод переопределения сети для хостов из группы "Не в списке"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ToolStripMenuItemFindSubnet_Click(object sender, EventArgs e)
        {
            List <String> list = new List <String>();
            TreeNode      node = this.lCDirectory.ReturnGroupNoList();

            foreach (TreeNode tn in node.Nodes)
            {
                LCTreeNodeHost lc = (LCTreeNodeHost)tn;
                list.Add(lc.IP);
                if (lc.Tag != null)
                {
                    ((ListViewItem)lc.Tag).Remove();
                }
            }
            // Удаляем группу "Не в списке"
            node.Remove();
            // проверяем на всякий пожарный, не пустое ли дерево справочника
            if (this.treeViewObject.Nodes.Count > 0)
            {
                this.treeViewObject.BeginUpdate();
                foreach (string st in list)
                {
                    // Ищем принадлежность ПК к какой либо сети
                    LCTreeNodeSubnet lcSubnet = this.lCDirectory.FindSubnetIP(st);
                    if (lcSubnet != null)
                    {
                        // и сразу же выделяем этот объект
                        this.OpenLCTreeNode(lcSubnet.AddHost(st, st, ""));
                    }
                    else
                    {
                        LCTreeNodeNoList lcNoList = lCDirectory.ReturnGroupNoList();
                        // и сразу же выделяем этот объект
                        this.OpenLCTreeNode(lcNoList.AddHost(st, st, ""));
                    }
                }
                this.treeViewObject.EndUpdate();
            }
        }
예제 #2
0
파일: FormMain.cs 프로젝트: Mutexman/LC
 private void FindAndOpenHost(string st)
 {
     if (this.lCDirectory.CorrectIP(ref st))
     {
         this.toolStripTextBoxIP.Text = st;
         this.WriteListBox("Поиск компьютера с IP " + this.toolStripTextBoxIP.Text + " запущен.");
         LCTreeNodeHost lcHost = this.lCDirectory.FindHost(st);
         if (lcHost != null)
         {
             //Выделяем найденый хост в дереве
             LCDirectory.treeView.SelectedNode = lcHost;
             this.OpenLCTreeNode(lcHost);
             this.WriteListBox("Найден хост с именем: " + lcHost.Text + ".");
         }
         else
         {
             //Определяем принадлежность хоста сети
             LCTreeNodeSubnet findSubnet = this.lCDirectory.FindSubnetIP(st);
             if (findSubnet != null)
             {
                 this.OpenLCTreeNode(findSubnet.AddHost(st, st, ""));
                 this.WriteListBox("IP адрес " + st + " принадлежит сети " + findSubnet.Text);
             }
             else
             {
                 LCTreeNodeNoList lcNoList = (LCTreeNodeNoList)this.lCDirectory.ReturnGroupNoList();
                 //добавляем хост и сразу же выделяем этот объект
                 this.OpenLCTreeNode(lcNoList.AddHost(st, st, ""));
                 this.WriteListBox("IP адрес " + st + " добавлен в группу " + lcNoList.Text);
             }
         }
     }
     else
     {
         this.WriteListBox("Введенное значение не является IP адресом");
     }
 }