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

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

Жанры

Программирование мобильных устройств на платформе .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;

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

Ратник

Ланцов Михаил Алексеевич
3. Помещик
Фантастика:
альтернативная история
7.11
рейтинг книги
Ратник

Хозяин Хаоса I

Петров Максим Николаевич
1. Хозяин Хаоса
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Хозяин Хаоса I

Черный Маг Императора 11

Герда Александр
11. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Черный Маг Императора 11

Товарищ "Чума" 10

lanpirot
10. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Товарищ Чума 10

Сапер

Вязовский Алексей
1. Сапер
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.29
рейтинг книги
Сапер

Волкодав

Семёнова Мария Васильевна
1. Волкодав
Фантастика:
фэнтези
героическая фантастика
9.46
рейтинг книги
Волкодав

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

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

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Воплощение Похоти

Некрасов Игорь
1. Воплощение Похоти
Фантастика:
юмористическое фэнтези
попаданцы
рпг
аниме
5.00
рейтинг книги
Воплощение Похоти

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.62
рейтинг книги
Последний реанорец. Том I и Том II

Первый среди равных. Книга III

Бор Жорж
3. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Первый среди равных. Книга III

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Мастер Трав III

Мордорский Ваня
3. Мастер Трав
Фантастика:
фэнтези
рпг
фантастика: прочее
попаданцы
5.75
рейтинг книги
Мастер Трав III

Тайна корабля

Стивенсон Роберт Льюис
Проза:
классическая проза
5.00
рейтинг книги
Тайна корабля