Урок 14. Работаем с TreeView

Три урока мы с вами посвятим изучению элемента управления TreeView. Он представляет из себя дерево. У этого элемента есть узлы, у каждого узла могут быть в свойю очередь свои подузлы и т. п.. В элементе TreeView удобно показывать, например, файловую систему компьютера.

На этом уроке мы посмотрим, как можно добавлять и удалять узлы в и из дерева.

Создайте Windows-приложение, на форме разместите элемент TreeView. На панели Toolbox по выглядит так:

Кроме того разместите на форме три кнопки (Button) и одно текстовое поле (TextBox). Для кнопок измените свойствО Name на add, remove и removeAll соответственно. Также для кнопок поменяйте своство Text на Add, Remove и Remove All соответственно. Для текстового поля измените свойства Name и Text на addNode и "" (пустую строку).

В обработчики нажатий на три кнопки добавьте следующий код:

// Добавление узла.

private void add_Click(object sender, System.EventArgs e)

{

// Получаем выделенный узел.

TreeNode node = treeView1.SelectedNode;

// Если ничего не выделено,

if(node==null)

{

// то добавляем в корень.

treeView1.Nodes.Add(addNode.Text);

}

else

{

// Если выделенный узел существует,

// то добавляем к нему.

node.Nodes.Add(addNode.Text);

}

// Очищаем текстовое поле и переводим на него фокус.

addNode.Text="";

addNode.Focus();

}

// Удаление узла.

private void remove_Click(object sender, System.EventArgs e)

{

// Получаем выделенный узел.

TreeNode node = treeView1.SelectedNode;

// Если узел выделен,

if(node!=null)

{

// то его и выделяем.

treeView1.Nodes.Remove(node);

}

else

{

MessageBox.Show("Ничего не выделено");

}

}

// Удаление всех узлов.

private void removeAll_Click(object sender, System.EventArgs e)

{

treeView1.Nodes.Clear();

}

Добавленный код должен быть ясен из комментариев.

Можно запускать программу. После добавления нескольких узлов (имена которых мы вводим в текстовое поле) она может выглядеть она будет приблизительно так:

Обратите внимание, что подузлы будут добавляться к выделенному узлу.

Кнопки Remove и Remove All будут удалять выделенный узел и все узлы соответственно.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: