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