Вывод индекса узла TreeView - C#
Формулировка задачи:
Здравтвуйте. Помогите пожалуйста разобраться. В одном методе добавляю элементы в treeview
В другом пытаюсь получить индекс добавленного элемента
while (el != null) { TreeNode node = new TreeNode(el.GetRegion().GetName()); frm.treeView1.Nodes[0].Nodes.Add(node); for(i=0; i<el.GetRegion().GetCount(); i++ ) { if (el.GetRegion()[i] != null) { node = new TreeNode(el.GetRegion()[i].GetAddres() + el.GetRegion()[i].GetCount()); frm.treeView1.Nodes[0].Nodes[j].Nodes.Add(node); } } j++; el = el.GetNext(); }
while (elem.GetRegion().GetName() != comboBox1.SelectedItem.ToString()) elem = elem.GetNext(); if(textBox1.Text != "") if(!elem.GetRegion().DelOffice(textBox1.Text)) { MessageBox.Show("Элемент не найден", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } TreeNode node = new TreeNode(elem.GetRegion().GetName()); int i = frm.treeView1.Nodes[0].Nodes.IndexOf(node); node = new TreeNode(textBox1.Text); frm.treeView1.Nodes[0].Nodes[i].Nodes.Remove(node); //Ошибка.Заданный аргумент находится вне диапазона допустимых значений. //Имя параметра: index
Решение задачи: «Вывод индекса узла TreeView»
textual
Листинг программы
if(textBox1.Text != "") if(!elem.GetRegion().DelOffice(textBox1.Text)) { MessageBox.Show("Элемент не найден", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // вот тут Вы создаете совершенно новый узел, которого просто нет в дереве. TreeNode node = new TreeNode(elem.GetRegion().GetName()); // а вот тут Вы его ищете и не находите - ведь его там нет, что хранит i? int i = frm.treeView1.Nodes[0].Nodes.IndexOf(node); node = new TreeNode(textBox1.Text); frm.treeView1.Nodes[0].Nodes[i].Nodes.Remove(node);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д