columnHeader3.Text = 'E-mail';
listView1.Columns.Add(columnHeader1);
listView1.Columns.Add(columnHeader2);
listView1.Columns.Add(columnHeader3);
ListViewItem Contact1 = new ListViewItem('Иванов');
Contact1.SubItems.Add('Иван');
Contact1.SubItems.Add('[email protected]');
ListViewItem Contact2 = new ListViewItem('Петров');
Contact2.SubItems.Add('Петр');
Contact2.SubItems.Add('[email protected]');
ListViewItem Contact3 = new ListViewItem('Сидоров');
Contact3.SubItems.Add('Арнольд');
Contact3.SubItems.Add('[email protected]');
listView1.Items.Add(Contact1);
listView1.Items.Add(Contact2);
listView1.Items.Add(Contact3);
}
На рис. 3.12 показан внешний вид приложения со списком в виде таблицы.
Рис. 3.12. Пример работы с элементом ListView
В полной версии .NET Framework элемент управления ListView
поддерживает свойство MultiSelect
, позволяющее одновременно выбрать несколько элементов из списка. Версия .NET Compact Framework не поддерживает данное свойство, поэтому пользователь может выбрать только один элемент.
Элемент TabControl
Элемент управления TabControl
очень удобен при создании интерфейсов для устройств с малыми размерами экрана, так как он позволяет создавать многостраничные диалоговые окна. Вкладки, реализуемые этим элементом, имеют ярлычки, на которых отображаются заголовки страниц. И пользователь может легко переключаться между страничками, просто щелкая по этим ярлычкам.
В устройствах Pocket PC вкладки располагаются в нижней части окна. Следует обратить внимание на то, что элемент TabControl
всегда располагается в верхнем левом углу контейнера. Например, если поместить TabControl
на форму, то он появится в ее верхнем левом углу. Если же нужно изменить расположение этого элемента, то надо поместить его на панель, которая является контейнером. При перемещении панели будет перемещаться и TabControl
.
Элемент TabControl
следует расположить на форме. У него по умолчанию будут созданы вкладки tabPage1
и tabPage2
. Если нужно добавить новую вкладку, то следует щелкнуть на маленькой стрелке в верхней части элемента TabControl
и выбрать пункт меню Add Tab
(рис. 3.13).
Рис. 3.13. Добавление новой закладки в элементе TabControl
В результате у элемента TabControl
появится новая закладка, которую можно настроить в соответствии с потребностями разработчика. Также программист может воспользоваться услугами редактора TabPage Collection Editor
для добавления новых закладок. В этом случае надо выбрать элемент TabControl
в дизайнере формы, найти свойство TabPages
и нажать кнопку редактирования этого свойства. В результате будет открыт редактор закладок. Для управления закладками можно также выделить TabControl
, щелкнуть на нем правой кнопкой мыши и выбрать пункты контекстного меню Add Tab
или Remove Tab
.
Для определения текущей вкладки используется свойство SelectedIndex
. При изменении данного свойства инициируется событие SelectedIndexChanged
, что иллюстрирует код, приведенный в листинге 3.22.
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {
switch (this.tabControl1.SelectedIndex) {
case 0:
MessageBox.Show('Вы выбрали первую вкладку');
break;
case 1:
MessageBox.Show('Вы выбрали вторую вкладку');
break;
case 2:
MessageBox.Show('Вы выбрали третью вкладку');
break;
}
}
Элемент TreeView
Элемент управления TreeView
позволяет представить данные в иерархическом виде. Именно в этом виде отображается структура дисковой системы в левой части рабочего окна программы Проводник Windows. Основой элемента TreeView
являются объекты TreeNode
и Nodes
. При работе с TreeView
также широко используется элемент управления ImageList
, используемый как хранилище изображений для узлов.
Заполнять древовидную структуру можно как на этапе конструирования формы, так и во время выполнения программы. Для создания дерева в дизайнере формы нужно переместить на нее элемент TreeView
. Затем следует выбрать свойство Nodes
и запустить редактор TreeNode Editor
. Кнопка Add Root
отвечает за создание узлов дерева. Кнопка Add Child
позволяет добавить дочерний узел к выбранному узлу. Кнопка Delete
удаляет выбранный узел.
Чтобы задать текст, отображаемый в узлах, можно использовать свойство Text
. Также в узлах можно использовать изображения, для чего применяется комбинация элемента управления ImageList
и свойства SelectedImageList
. Для определения текущего узла используется свойство SelectedNode
.
На рис. 3.14 показан внешний вид приложения, использующего элемент интерфейса TreeView
.
Рис. 3.14. Использование элемента TreeView