Обучающие курсы:

Обучение профессии "Разработчик C#" + стажировка в Mail.ru
Обучение профессии "Разработчик Python" + трудоустройство
Обучение профессии "Веб-разработчик" + стажировка в Mail.ru


Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Элемент управления Дерево.

Элемент управления TreeView (дерево) Вам уже известен из курса MFC. Теперь мы рассмотрим использование данного элемента управления в курсе C#. С ним связаны 3 основные класса: TreeView, TreeNode и TreeNodeCollection.

Объект класса TreeNode - это одна запись дерева. Данный объект связывают со строкой, иногда - с определенным изображением. Он имеет следующие конструкторы:

public TreeNode();
public TreeNode(string text);
public TreeNode(string text,   TreeNode[] children);
public TreeNode(string text,   int imageIndex,   int selectedImageIndex);
public TreeNode(string text,   int imageIndex,   int selectedImageIndex,   TreeNode[] children);

В качестве параметров конструктор принимает: text - строку, связанную с узлом (описание узла); imageIndex - индекс изображения по умолчанию для узла; selectedImageIndex - индекс изображения для выделенного узла; children - массив дочерних объектов TreeNode (подузлов).

В классе TreeNode есть свойство Nodes, которое по сути является набором других объектов TreeNode.Свойство Nodes возвращает коллекцию узлов дерева, связанных с элементом управления TreeView.

public TreeNodeCollection Nodes {get;}

Класс TreeNodeCollection реализует следующие интерфейсы: IList, ICollection и IEnumerable. Данный класс представляет коллекцию объектов TreeNode. Он также позволяет нам индексировать набор так же, как и массив при помощи следующих свойств:

public int Count {get;}
public virtual TreeNode this [int index] {get; set;}

Чтобы добавить подузел к существующему узлу, необходимо использовать метод Add класса TreeNodeCollection. Существует 2 варианта данной функции. Первый принимает в качестве параметра описание узла, второй - объект класса TreeNode, который нужно добавить в коллекцию.

public virtual TreeNode Add(string text);
public virtual int Add(TreeNode node);

Для удаления подузла используется метод Remove. В данной функции только один параметр - объект класса TreeNode, который необходимо удалить.

public void Remove(TreeNode node);

Класс TreeView - это набор объектов класса TreeNode верхнего уровня. У класса TreeView также есть свойство Nodes.

public TreeNodeCollection Nodes {get;}

При использовании элемента управления TreeView часто используются изображения слева от текста каждого узла. Данные изображения хранятся в объекте ImageList, относящемся ко всему TreeView. Вот некоторые из свойств TreeView, связанные с ImageList:

public ImageList ImageList {get; set;}
public int ImageIndex {get; set;} //определяет рисунок по умолчанию
public int SelectedImageIndex {get; set;}//определяет рисунок для выбранного узла.

Изображение можно задавать не только для узлов верхнего уровня, но и для любого объекта TreeNode при помощи похожих свойств.

public int ImageIndex {get; set;} //определяет рисунок по умолчанию
public int SelectedImageIndex {get; set;}//определяет рисунок для выбранного узла.

Однака у TreeNode нет собственного свойства ImageList. Индексы относятся к свойству ImageList элемента управления, которому принадлежит объект TreeNode. Кроме того есть возможность указать индексы изображений при создании объекта TreeNode.

События дерева.

Приведенные ниже события происходят, когда раскрывается, сворачивается или активизируется узел. Если событие в своем названии содержит слово Before, то это событие срабатывает еще до того, как выполнится операция.

public event TreeViewCancelEventHandler BeforeCollapse;
public event TreeViewCancelEventHandler BeforeExpand;
public event TreeViewCancelEventHandler BeforeSelect;
public event TreeViewEventHandler AfterCollapse;
public event TreeViewEventHandler AfterExpand;
public event TreeViewEventHandler AfterSelect;


 
 
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru