Опубликован: 31.08.2006 | Уровень: специалист | Доступ: платный
Лекция 4:

Работа с элементами управления из области элементов

Изучение кода программы Input Controls

Давайте рассмотрим процедуры обработки событий в программе Input Controls и выясним, как программа обрабатывает информацию о вводе от элементов пользовательского интерфейса пользователя. В этих процедурах используются операторы If...Then и Select Case. Обратите внимание на свойство CheckState, которое меняется при выборе того или иного флажка, и на свойство SelectedIndex, которое меняется при выборе элемента из списка.

Изучение кода флажков Checkbox и списка Listbox

  1. Убедитесь, что программа остановлена. Чтобы переключиться на процедуру обработки события CheckBox1_CheckedChanged, дважды щелкните мышью на флажке Автоответчик в поле Офисная техника.

    Вы увидите следующий текст программы:

    ' Если свойство CheckState равно 1, то этот флажок отмечен
    If CheckBox1.CheckState = 1 Then
    	PictureBox2.Image = System.Drawing.Image.FromFile _
    		("c:\vbnet03sbs\Гл.3\input controls\answmach.wmf")
    	PictureBox2.Visible = True
    Else
    	' Если отметки нет, скрыть изображение
    	PictureBox2.Visible = False
    End If

    В первой строке этой процедуры находится комментарий. Комментарии окрашиваются в зеленый цвет и являются просто заметками, которые пишет программист, когда считает нужным разъяснить конкретную часть программы. (Комментарии иногда генерируются автоматизированными инструментами программирования, которые добавляют в программу участки кода.) Этот комментарий написан для того, чтобы напомнить, что свойство CheckState должно быть равно "1", если флажок отмечен.

    Остальная часть процедуры обработки события почти идентична той, которую вы написали для программы CheckBox. Если посмотреть код далее, то там находятся аналогичные процедуры обработки событий для объектов CheckBox2 и CheckBox3.

  2. Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку с текстом Form1.vb [Design], а затем дважды щелкните мышью в форме на списке Периферия. В редакторе кода появится процедура обработки события ListBox1_SelectedIndexChanged. Вы увидите следующие операторы.

    ' Номер выбранного элемента (0-2) хранится в свойстве SelectedIndex
    Select Case ListBox1.SelectedIndex
    	Case 0
    		PictureBox3.Image = System.Drawing.Image.FromFile _
    			("c:\vbnet03sbs\Гл.3\input controls\harddisk.wmf")
    	Case 1
    		PictureBox3.Image = System.Drawing.Image.FromFile _
    			("c:\vbnet03sbs\Гл.3\input controls\printer.wmf")
    	Case 2
    		PictureBox3.Image = System.Drawing.Image.FromFile _
    			("c:\vbnet03sbs\Гл.3\input controls\satedish.wmf")
    End Select

    Этот код исполняется, когда пользователь выбирает один из элементов в списке Периферия. В этом случае важным ключевым словом является ListBox1.SelectedIndex, которое означает "свойство SelectedIndex объекта список Listbox1". После того, как пользователь щелкнул мышью на одном из элементов списка, свойство SelectedIndex возвращает число, которое соответствует положению выбранного элемента в списке (первый элемент имеет номер 0, второй элемент имеет номер 1, и так далее).

    В приведенном выше фрагменте свойство SelectedIndex обрабатывается в структуре Select Case, и в зависимости от его значения загружается тот или иной файл с изображением. Если значение равно "0", загружается изображение жесткого диска; если "1", то изображение принтера; а если "2", то спутниковой тарелки.

  3. Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку Form1.vb [Design]. Дважды щелкните мышью в поле формы (но не на одном из ее объектов), что приведет к переходу в ту часть программы, которая связана с самой формой. В редакторе кода появится процедура обработки события Form1_Load, которая выполняется каждый раз при запуске программы Input Controls. В эту процедуру можно добавлять код, который должен выполняться каждый раз при загрузке формы. В программе может быть несколько форм, или вообще ни одной, но по умолчанию Visual Basic загружает и выполняет процедуру обработки события Form1_Load каждый раз, когда пользователь запускает программу. Чаще всего в добавляемом коде задают те настройки пользовательского интерфейса, которые не могут быть созданы с помощью элементов управления из области элементов или окна Properties (Свойства).

    В программе Input Controls именно так и обстоит дело.

    Вот как выглядит процедура события Form1_Load для этой программы.

    ' Эти операторы программы выполняются при загрузке формы
    PictureBox1.Image = System.Drawing.Image.FromFile _
    	("c:\vbnet03sbs\Гл.3\input controls\pcomputr.wmf")
    ' Добавление элементов в список:
    ListBox1.Items.Add("Дополнительный диск")
    ListBox1.Items.Add("Принтер")
    ListBox1.Items.Add("Спутниковая антенна")
    ' Раскрывающиеся списки ComboBox тоже заполняются с помощью метода 
    ' Add:
    ComboBox1.Items.Add("доллары США")
    ComboBox1.Items.Add("чек")
    ComboBox1.Items.Add("рубли")

    В этой процедуре события три строки являются комментариями и показаны зеленым цветом. Вторая строка загружает в поле показа изображений картинку персонального компьютера. (Эта строка разбита на две с помощью пробела и символа продолжения строки, но компилятор воспринимает ее как одну строку.) Загрузка изображения персонального компьютера делается из-за того, что именно такой параметр был выбран по умолчанию для группы переключателей Компьютер ( GroupBox1 ). В следующих трех строках добавляются строки в список Периферия ( ListBox1 ). Слова, стоящие в кавычках, появляются в списке при его отображении в форме. Вслед за операторами программы, относящимися к списку, заданы элементы раскрывающегося списка Способ оплаты ( ComboBox1 ). В обеих группах кода главным ключевым словом является Add - специальная функция или метод, добавляющий элементы в объекты список ListBox и раскрывающийся список ComboBox.

Мы закончили работать с программой Input Controls. Можете потратить несколько минут на изучение других частей этой программы, а затем переходите к следующему упражнению.

Использование элемента управления LinkLabel

Во многих Windows-приложениях уже давно предоставляется доступ в интернет, и это уже становится стандартной функцией. В Visual Studio . NET добавить такую функцию к создаваемой программе стало намного проще. Используя шаблоны библиотеки Web Forms и другие возможности, можно создавать сложные приложения для работы по сети Интернет. А чтобы открыть веб-страницу в веб-обозревателе, потребуется всего лишь нескольких строк кода.

В этом упражнении вы научитесь применять элемент управления LinkLabel, который в поле формы показывает текст, являющейся ссылкой на адрес в Интернете.

Элемент управления LinkLabel - новое пополнение в Visual Basic. Используя его вместе с методом Process.Start, можно открывать ссылки на форме с помощью обозревателей Internet Explorer, Netscape Navigator или других. В нашем примере с помощью элемента управления LinkLabel мы подключимся к веб-странице Microsoft Press.

Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Виталий Григорьев
Виталий Григорьев
Россия, москва, мгсги, 2011
Надежда Серекпаева
Надежда Серекпаева
Россия, Тюмень, Тюменский индустриальный институт, 1992