Программирование мобильных устройств на платформе .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.00
рейтинг книги
Сердце Дракона. Том 11
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Первый среди равных. Книга IV
4. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неучтенный. Дилогия
Неучтенный
Фантастика:
боевая фантастика
попаданцы
7.98
рейтинг книги
Мастер Разума IV
4. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Авиатор: назад в СССР
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Кадры решают все
2. Элита элит
Фантастика:
боевая фантастика
попаданцы
альтернативная история
8.09
рейтинг книги
Плеяда
Проза:
военная проза
русская классическая проза
5.00
рейтинг книги
Потусторонний. Книга 2
2. Господин Артемьев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ученик. Книга 4
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Законник Российской Империи. Том 3
3. Словом и делом
Фантастика:
городское фэнтези
альтернативная история
аниме
дорама
5.00
рейтинг книги
Ваше Сиятельство 7
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Война
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Младший сын князя. Том 4
4. Аналитик
Фантастика:
фэнтези
аниме
5.00