Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

 tnNewNode = treeView1.Nodes.Add("Neighborhoods");

 //Установить для узла метку, указывающую на то, что узел

 //будет заполняться динамически

 tnNewNode.Tag = node_needToBePopulated;

 //Этот фиктивный дочерний узел существует лишь для того, чтобы

 //узел имел, по крайней мере, один дочерний узел и поэтому

 //был расширяемым.

 tnNewNode.Nodes.Add(dummy_node);

 //------------

 //Узел "Price"

 //------------

 tnNewNode = treeView1.Nodes.Add("Price");

 //Установить для узла метку, указывающую на то, что узел

 //будет заполняться динамически

 tnNewNode.Tag = node_needToBePopulated;

 //Этот фиктивный дочерний узел существует лишь для того, чтобы

 //узел имел, по крайней мере, один дочерний узел и поэтому

 //был расширяемым.

 tnNewNode.Nodes.Add(dummy_node);

 //----------------

 //Узел "HouseType"

 //----------------

 tnNewNode = treeView1.Nodes.Add("HouseType");

 //Установить для узла метку, указывающую на то, что узел

 //будет заполняться динамически

 tnNewNode.Tag = node_needToBePopulated;

 //Этот фиктивный дочерний узел существует лишь для того, чтобы

 //узел имел, по крайней мере, один дочерний узел и поэтому

 //был расширяемым.

 tnNewNode.Nodes.Add(dummy_node);

 //Восстанавливаем обновление интерфейса

 treeView1.EndUpdate;

}

//-------------------------------------------------------------------------

//Обработчик событий BeforeExpand для нашего элемента управления TreeView

//ПРИМЕЧАНИЕ: Этот обработчик событий необходимо будет

// вручную подключить к функции InitializeComponent

// формы.

//

//Вызывается при запросе пользователем расширения узла, у которого имеется,

//по крайней мере, один дочерний узел. Этот вызов осуществляется до

//отображения дочерних узлов данного узла и дает нам возможность

//динамически заполнить данными элемент управления TreeView.

//-------------------------------------------------------------------------
 

private void TreeView1BeforeExpand (object sender, System.Windows.Forms.TreeViewCancelEventArgs e) {

 //Получить узел, который будет расширяться

 System.Windows.Forms.TreeNode tnExpanding;

 tnExpanding = e.Node;

 //Если узел не отмечен как "нуждающийся в заполнении данными",

 //то он устраивает нас в том виде, "как он есть".

 if (tnExpanding.Tag !=(object) node_needToBePopulated) {

return; //Разрешить беспрепятственное продолжение выполнение

 }

 //------------------------------------------------------------

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

 //Мы знаем, что узел должен быть заполнен данными; определить,

 //что это за узел

 //------------------------------------------------------------

if (tnExpanding.Text == nodeText Neighborhoods) {

PopulateTreeViewNeighborhoods(tnExpanding);

return; //добавление элементов закончено!

 } else {

//Проверить другие возможности для узлов дерева, которые мы должны

//добавить.

System.Windows.Forms.MessageBox.Show("НЕ СДЕЛАНО: Добавьте код для динамического заполнения этого узла");

//Снять отметку с этого узла, чтобы мы не могли вновь выполнить

//этот код

tnExpanding.Tag = "";

 }

}

//------------------------------------------------------------------

//Эта функция вызывается для динамического добавления дочерних узлов

//в узел "Neighborhood"

//------------------------------------------------------------------

void PopulateTreeViewNeighborhoods(TreeNode tnAddTo) {

 TreeView tvControl;

 tvControl = tnAddTo.TreeView;

 tvControl.BeginUpdate;

 //Очистить имеющийся фиктивный узел

 tnAddTo.Nodes.Clear;

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

 //того узла, который был передан.

 TreeNode[] newNeighborhoodNodes;

Поделиться:
Популярные книги

Его звали Тони. Книга 5

Кронос Александр
5. Щенки косуль
Фантастика:
городское фэнтези
технофэнтези
попаданцы
7.00
рейтинг книги
Его звали Тони. Книга 5

Личный аптекарь императора. Том 3

Карелин Сергей Витальевич
3. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Личный аптекарь императора. Том 3

Курс 1. Октябрь

Фокс Гарри
2. Маркатис
Фантастика:
аниме
фэнтези
сказочная фантастика
5.00
рейтинг книги
Курс 1. Октябрь

Обрыв

Гончаров Иван Александрович
Проза:
классическая проза
русская классическая проза
8.93
рейтинг книги
Обрыв

Оружейникъ

Кулаков Алексей Иванович
2. Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Оружейникъ

Вперед в прошлое 7

Ратманов Денис
7. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 7

Гранит науки. Том 3

Зот Бакалавр
3. Героями не становятся, ими умирают
Фантастика:
фэнтези
боевая фантастика
5.00
рейтинг книги
Гранит науки. Том 3

Локки 6. Потомок бога

Решетов Евгений Валерьевич
6. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 6. Потомок бога

Старый, но крепкий 5

Крынов Макс
5. Культивация без насилия
Фантастика:
рпг
аниме
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 5

Неудержимый. Книга XXX

Боярский Андрей
30. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXX

Чевенгур

Платонов Андрей Платонович
Проза:
советская классическая проза
6.75
рейтинг книги
Чевенгур

Камень. Книга 3

Минин Станислав
3. Камень
Фантастика:
фэнтези
боевая фантастика
8.58
рейтинг книги
Камень. Книга 3

Газлайтер. Том 21

Володин Григорий Григорьевич
21. История Телепата
Фантастика:
боевая фантастика
аниме
попаданцы
5.00
рейтинг книги
Газлайтер. Том 21

Целеполагание

Владимиров Денис
4. Глэрд
Фантастика:
фэнтези
боевая фантастика
рпг
5.00
рейтинг книги
Целеполагание