progs.biz  
Начало>C#>Windows>Урок 14
C#
VB.NET
Visual C++.NET
Visual C++ 6
WinAPI
C++
Delphi
C++ Builder
Java
PHP
Visual Basic 6.0
DirectX
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Разработка Windows-приложений на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
 Разработка Windows-приложений на Visual Basic.NET и Visual C#.NET. Учебный курс MCAD/MCSD.
Заказать на Озоне


SpyLOG
Яндекс-цитирования

C# для Windows
Урок 14. Работаем с TreeView

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

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

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

TreeView

Кроме того разместите на форме три кнопки (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 будут удалять выделенный узел и все узлы соответственно.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX new!
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz
Label

 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2004 сайт progs.biz
© 2002-2004 Алексеев Игорь