Вывод индекса узла 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы