}
Элемент ImageList
имеет свойство ImageSize
, которое задает размеры хранимых изображений. Перед загрузкой картинки в графическое поле можно установить требуемые размеры изображения с помощью данного свойства, как показано в листинге 3.20.
Листинг 3.20
private void butImgList_Click(object sender, EventArgs e) {
// изменяем размеры картинки
imageList1.ImageSize = new System.Drawing.Size(160, 120);
// загружаем картинку с измененными размерами
picTest.Image = imageList1.Images[0];
}
На рис. 3.11 показан внешний вид приложения, в котором для работы с изображениями применяются все три описанных варианта.
Рис. 3.11. Пример работы с элементом PictureBox
Элемент управления ListView
похож на элемент ListBox
, но вместо обычного текста данный элемент может показывать изображения. Фактически, правая часть рабочего окна Проводника в Windows XP является типичным примером использования этого органа управления. Элементы в ListView
могут отображаться в виде таблицы, списка, а также как группа крупных и мелких значков. За способ отображения содержимого отвечает свойство View
. Значение Details
позволяет отображать содержимое в виде таблицы, значение List
создает список, значение LargeIcon
позволяет отображать элементы списка в виде больших пиктограмм, а значение SmallIcon
отображает их как маленькие пиктограммы.
В режиме Details
элемент управления ListView
позволяет создавать дополнительные столбцы. Их можно добавлять как во время проектирования, так и во время исполнения программы. Пример добавления столбцов во время работы приложения приведен в листинге 3.21.
Листинг 3.21
private void Form1_Load(object sender, EventArgs e) {
// Устанавливаем нужный вид
listView1.View = View.Details;
// Выделяем всю строку при выделении любого элемента
listView1.FullRowSelect = true;
ColumnHeader columnHeader1 = new ColumnHeader();
ColumnHeader columnHeader2 = new ColumnHeader();
ColumnHeader columnHeader3 = new ColumnHeader();
columnHeader1.Text = "Фамилия";
columnHeader2.Text = "Имя";
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("ivan@ivanov.ru");
ListViewItem Contact2 = new ListViewItem("Петров");
Contact2.SubItems.Add("Петр");
Contact2.SubItems.Add("peter@petrov.ru");
ListViewItem Contact3 = new ListViewItem("Сидоров");
Contact3.SubItems.Add("Арнольд");
Contact3.SubItems.Add("goat@sidorov.ru");
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
очень удобен при создании интерфейсов для устройств с малыми размерами экрана, так как он позволяет создавать многостраничные диалоговые окна. Вкладки, реализуемые этим элементом, имеют ярлычки, на которых отображаются заголовки страниц. И пользователь может легко переключаться между страничками, просто щелкая по этим ярлычкам.
В устройствах Pocket PC вкладки располагаются в нижней части окна. Следует обратить внимание на то, что элемент TabControl
всегда располагается в верхнем левом углу контейнера. Например, если поместить TabControl
на форму, то он появится в ее верхнем левом углу. Если же нужно изменить расположение этого элемента, то надо поместить его на панель, которая является контейнером. При перемещении панели будет перемещаться и TabControl
.
Элемент TabControl
следует расположить на форме. У него по умолчанию будут созданы вкладки tabPage1
и tabPage2
. Если нужно добавить новую вкладку, то следует щелкнуть на маленькой стрелке в верхней части элемента TabControl
и выбрать пункт меню Add Tab
(рис. 3.13).
Рис. 3.13. Добавление новой закладки в элементе TabControl
Читать дальше