/// <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(); } }
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 адресом"); } }