В этой лекции вы узнаете, как:
TextBox и Button для создания программы Hello World;DateTimePicker для показа даты вашего рождения;CheckBox, RadioButton, ListBox и ComboBox для работы с пользовательским вводом;LinkLabel для показа веб-страницы из интернета;Элементы управления Microsoft Visual Studio .NET - это графические инструменты для создания пользовательского интерфейса в программе на Visual Basic. Элементы управления расположены в среде разработки в Toolbox (Области элементов), и с помощью нескольких щелчков мышью и перетаскивания их можно использовать для создания объектов на форме. Элементы управления Windows Forms специально разработаны для создания приложений для Windows, они находятся на закладке Windows Forms окна области элементов. Некоторые из этих элементов управления мы уже использовали в предыдущей лекции . В этой лекции вы узнаете, как в программе на Visual Basic .NET показывать информацию в текстовых полях, работать с датами и временем системы, обрабатывать ввод пользователя и показывать веб-страницы. Упражнения этой лекции помогут вам спроектировать собственные приложения на Visual Basic и научат обращаться с большим количеством объектов, свойствами и кодом программы. Вы также узнаете, как добавлять старые элементы управления ActiveX в Toolbox (Области элементов) для расширения функциональности Visual Basic.
DateTimePicker запрашивает у пользователя информацию о времени и дате. Новый элемент управления LinkLabel разработан для показа веб-ссылок и управления ими.OptionButton заменен новым элементом управления RadioButton.Frame заменен новым элементом управления GroupBox .ListIndex в элементе управления ListBox заменено свойством SelectedIndex. Такое же изменение произошло и в элементе управления ComboBox.Image больше не существует. Вместо него теперь используется элемент управления PictureBox.System.Drawing.Image.FromFile (а не функции LoadPicture ).System.Diagnostics.Process.Start.Использование программы под названием Hello World ("здравствуй, мир!") стало традицией для книг по программированию. На примере программы Hello World демонстрируется, как создать и запустить с помощью данного языка программирования простейшую утилиту. Во времена "текстового" программирования Hello World обычно представляла собой программу из двух или трех строчек, которые вводились в редакторе программ и компилировались с помощью отдельного компилятора. Однако с изобретением графических инструментов программирования обычная Hello World выросла до сложной программы, содержащий несколько десятков строк и требующей для своего создания несколько различных инструментов программирования. К счастью, создание программы Hello World на Visual Basic . NET все еще достаточно просто. Вы можете построить завершенный интерфейс пользователя, создав два объекта, задав два свойства и введя одну строку кода. Давайте это сделаем.
В меню File (Файл) выберите New (Создать), затем Project (Проект). Visual Studio покажет диалоговое окно New Project (Создать проект), в котором нужно ввести имя и положение проекта на диске, а также шаблон для его создания. В отличие от предыдущих версий Visual Basic, создание проекта начинается с указания имени программы.
Совет. Каждый раз, когда вы создаете новый проект на жестком диске, нужно выполнить следующие действия.
В текстовом поле Name (Имя) введите имя MyHello, а затем нажмите кнопку Browse (Обзор). Откроется диалоговое окно Project Location (Расположение проекта). В этом окне можно указать место проекта на диске или, если необходимо, создать для проектов новые папки. Проекты можно сохранять в любом удобном месте (обычно предлагается папка \My Documents\Visual Studio Projects ), в этой книге мы рекомендуем хранить проекты в папке c:\vbnet03sbs, в которой уже имеются проекты, используемые в этой книге для практических упражнений. Если будет нужно удалить все файлы, связанные с этим курсом программирования, то вы будете знать, где они находятся, и можно просто удалить всю эту папку.
Совет. В этой книге я прошу вас создавать примеры проектов с префиксом My, чтобы отличить вашу собственную работу от имеющихся файлов упражнений.
Чтобы указать, что проект MyHello и входящие в него файлы должны быть сохранены в подпапке MyHello папки c:\vbnet03sbs\Гл.3, нажмите кнопку Open (Открыть). Сейчас диалоговое окно New Project (Создать проект) выглядит так.

Чтобы закончить создание нового проекта, нажмите OK. В Windows Button и TextBox - представлены в области элементов. Если среда программирования на вашем компьютере настроена иначе, потратьте немного времени и приведите ее к виду, как на этой иллюстрации (как настраивать среду разработки Visual Studio, описано в лекции 1).

TextBox, который находится на закладке Windows Forms.Нарисуйте текстовое поле, аналогичное этому.

В программах на Visual Basic объект текстовое поле используется для показа текста в форме или для ввода текста пользователем. То, как работает текстовое поле, зависит от настройки его свойств, и от того, как оно вызывается в коде программы. В этой простой программе текстовое поле используется для показа сообщения "Hello, world!" по нажатии на кнопку. Давайте добавим кнопку.
На форме ниже текстового поля нарисуйте кнопку. Форма должна выглядеть примерно так.

Кнопка используется, когда от пользователя нужно получить простейший отклик. Нажимая на кнопку, пользователь просит программу немедленно выполнить некоторое действие. В терминах Visual Basic пользователь, нажимая на кнопку, создает событие, которое требуется обработать в программе. Обычно в программе используются кнопки: OK, на которой пользователь щелкает, чтобы подтвердить список параметров или продолжить работу; Отмена для отказа от списка параметров; и Выход для завершения работы программы. Эти кнопки должны быть легко узнаваемы и после нажатия пользователя должны работать так, как ожидается. Характеристики любой кнопки (как и всех объектов) можно изменить с помощью настройки свойств и обращений к ее объекту в коде программы.
В окне Properties (Свойства) задайте для текстового поля и кнопки приведенные ниже свойства. Значение "пусто" для TextBox1 означает, что вы должны удалить имеющееся значение и оставить свойство пустым. Установки, которые нужно ввести, показаны в кавычках. Сами кавычки вводить не нужно.
| Объект | Свойство | Значение |
|---|---|---|
TextBox1 |
Text |
(пусто) |
Button1 |
Text |
"OK" |
Дважды щелкните мышью на кнопке OK и введите в редакторе кода между операторами Private Sub Button1_Click и End Sub следующий программный код.
TextBox1.Text = "Hello, world!"
Совет. После того, как вы наберете имя объекта TextBox1 и точку, Visual Studio покажет список всех свойств объекта текстовое поле. Вы можете выбрать свойство из этого списка, дважды щелкнув на нем мышью, или набрать его самостоятельно.
Во время работы программы оператор, который вы ввели, по нажатию на кнопку изменяет свойство Text текстового поля на "Hello, world!". (Знак равенства (=) присваивает все, что находится между кавычками, свойству Text объекта TextBox1.) В данном примере свойство объекта изменяется во время работы программы - это одно из наиболее часто использующихся применений кода в программах на Visual Basic. Введенный выше оператор находится внутри процедуры события - то есть, это инструкция, которая исполняется при щелчке на объекте Button1. В нем значение свойства (и, следовательно, содержимое текстового поля) изменяется сразу после того, как пользователь нажимает на кнопку.
Теперь программу Hello World можно запускать.
Нажмите кнопку OK. Программа покажет в текстовом поле приветствие "Hello, world!".

Когда вы нажали OK, код программы изменил свойство Text пустого текстового поля TextBox1 на текст "Hello, world!" и показал этот текст в поле. Если вы не получили этого результата, повторите шаги из предыдущего раздела и снова скомпилируйте программу. Возможно, вы неправильно задали свойство или сделали опечатку при вводе кода программы. (Синтаксические ошибки подчеркиваются в редакторе кода волнистой линией.)
Чтобы остановить программу Hello World, щелкните на кнопке Закрыть в верхнем правом углу окна этой программы.
Совет. Чтобы остановить программу, работающую в Visual Studio, можно также нажать кнопку Stop Debugging (Остановить отладку) на панели инструментов Debug (Отладка) среды Visual Studio, что приведет к закрытию этой программы. (В Visual Basic 6 эта кнопка называлась End.)
Поздравляем - вы только что влились в ряды программистов, написавших программу Hello World. Теперь давайте изучим еще один элемент управления.
Некоторые элементы управления Visual Basic показывают информацию, а другие собирают информацию от пользователя или обрабатывают данные "за кулисами". В этом упражнении мы будем работать с элементом управления DateTimePicker, который с помощью графического календаря со стрелками прокрутки спрашивает пользователя о дате или времени. Хотя в данной книге мы посмотрим только самые простые возможности элемента управления DateTimePicker, эксперименты с ним дадут вам представление о том, как много всего могут автоматически сделать элементы управления Visual Basic, и как можно обрабатывать информацию, которая от них поступает.
В программе Birthday элементы управления DateTimePicker и Button используются, чтобы выяснить у пользователя дату его рождения и показать эту информацию в окне сообщения.
В области элементов выберите элемент управления DateTimePicker.
Совет. Если вы не видите DateTimePicker в области элементов, скорее всего он находится вне пределов видимости. Чтобы прокрутить список области элементов, нажмите на нижней стрелке прокрутки, расположенной рядом с закладкой
В центре формы нарисуйте объект выбора даты и времени, как показано на следующей иллюстрации.

Объект выбора даты и времени по умолчанию показывает текущую дату, но эту настройку можно изменить в свойстве Value. Показ даты при проектировании очень удобен - это позволяет при создании объекта правильно задать его размеры.
Button, и ниже объекта выбора даты и времени добавьте объект кнопки. Эта кнопка будет использована для показа дня рождения и для проверки правильности работы объекта выбора даты и времени.Text объекта кнопки на Показать день моего рождения. Теперь нужно добавить в процедуру, связанную с объектом кнопки, несколько строк программного кода. Эта процедура называется процедурой обработки события, так как она запускается тогда, когда в объекте происходит событие, например, щелчок мышью.Дважды щелкните мышью на объекте кнопки, а потом наберите следующий фрагмент программы между операторами Private Sub и End Sub в процедуре события Button1_Click:
MsgBox("Ваш день рождения " DateTimePicker1.Text)
MsgBox("День года: " _
DateTimePicker1.Value.DayOfYear.ToString())
MsgBox("Сегодня " DateTimePicker1.Value.Now.ToString())
Этот фрагмент программы показывает три последовательных окна сообщения (небольшие диалоговые окна), которые содержат информацию из объекта календаря. В первой строке используется свойство Text календаря для вывода информации о дате рождения, которую пользователь выберет в этом объекте после запуска программы. Функция MsgBox кроме текстового значения из свойства Text календаря показывает строку "Ваш день рождения". Эти два текстовых элемента объединяются в строку с помощью оператора конкатенации (слияния) строк .
Вторая и третья строки вместе представляют собой один оператор, разделенный на две строки при помощи символа продолжения (_). Это сделано из-за того, что это выражение слишком длинное для печати в книге в одну строку. (За более подробным разъяснением того, как переносить длинные строки, обратитесь к совету на следующей странице.) В строке DateTimePicker1.Value.DayOfYear.ToString() объект календаря используется для вычисления дня года, отсчитывая с 1 января. Это делается с помощью свойства DayOfYear и метода ToString, который переводит числовой результат вычисления даты в текстовое значение, которое гораздо проще показать с помощью функции MsgBox.
Методы - это специальные выражения, которые выполняют действие или работу для конкретного объекта, например преобразуют числа в строку или добавляют еще один элемент к списку. Методы отличаются от свойств, которые содержат значение, и процедур событий, которые выполняются при манипуляциях пользователя с объектом. Методы могут использоваться совместно в нескольких объектах, так что когда вы узнаете, как использовать один метод, вы сможете использовать его в различных условиях. Некоторые важные методы мы обсудим в этой книге.
В четвертой строке фрагмента для проверки системных часов компьютера и выяснения текущих даты и времени используется свойство Now. Затем, после перевода значения в строковое (или текстовое) представление, эта информация показывается в окне сообщения.
Совет. Длина строки программы в редакторе кода и Visual Studio может быть более 65 000 символов, но обычно проще всего работать со строками, длина которых не превышает 80 символов. Длинные операторы можно разбить на несколько строк, добавив в нужном месте пробел и символ продолжения строки (_). Эта комбинация должна стоять в конце всех строк выражения, за исключением последней. Для разделения строки, заключенной в кавычки (строковой константы), символ продолжения использовать нельзя. В этом упражнении символ продолжения строки использован для того, чтобы разделить на две части вторую строку кода.
После того, как вы наберете код события Button1_Click, редактор кода должен выглядеть примерно так.

Нажмите стрелку раскрывающегося списка, чтобы вывести на экран представление этого объекта в виде календаря. Форма будет выглядеть как на следующей иллюстрации (дата, разумеется, будет другая).

Чтобы увидеть предыдущие месяцы календаря, нажмите на левой стрелке прокрутки. Обратите внимание, что текстовое поле объекта при прокрутке дат также изменяется. Однако значение Сегодня в нижней части календаря остается неизменным.
Хотя календарь можно промотать назад до даты вашего рождения, вряд ли у кого хватит терпения прокручивать месяц за месяцем. Чтобы быстрее перейти к году вашего рождения, выделите в текстовом поле значение года и введите новое значение.
Нажмите кнопку Показать день моего рождения. Visual Basic исполнит введенный вами код программы и покажет окно с сообщением, содержащим день и дату вашего рождения. Обратите внимание на соответствие двух дат.

Нажмите OK, чтобы показать последнее окно сообщения. Появятся текущие дата и время - программа работает!
Вы обнаружите, что объект выбора даты и времени очень удобен - он не только помнит новую, введенную вами информацию о дате или времени, но также отслеживает текущие дату и время и может показывать эту информацию в различных форматах.
Совет. Чтобы настроить объект выбора даты и времени для показа времени, а не даты, установите свойство Format этого объекта равным Time.
DateTimePicker.К настоящему моменту в книге было использовано несколько терминов, которые описывают элементы программы на Visual Basic. Так как до сих пор мы не дали строгих определений этим терминам, давайте сделаем это сейчас.
Оператор. Оператор - это зарезервированное или ключевое слово в коде, которое выполняет работу в программе. Операторы программы на Visual Basic выделяют память для хранения данных, открывают файлы, делают вычисления и выполняют другие важные задачи. Большинство ключевых слов в редакторе кода имеют синий цвет.
Переменная. Переменная - это специальный контейнер, используемый для временного хранения данных в программе. С помощью оператора Dim программист создает переменные для хранения результатов вычислений, создания имен файлов, отслеживания ввода и т.п. В переменных можно хранить числа, имена и значения свойств.
Элемент управления. Элемент управления - это инструмент, который используется для создания объектов в графической форме Visual Basic. Вы выбираете элементы управления в области элементов и рисуете с помощью мыши объект в поле формы. Большинство элементов управления используется для создания элементов интерфейса пользователя: кнопок, списков и полей вывода изображений.
Объект. Объект - это название элемента пользовательского интерфейса, который вы создаете в поле формы Visual Basic с помощью элемента управления из области элементов. Меняя значения свойств, объекты можно перемещать, настраивать и изменять их размер. Объекты обладают встроенной функциональностью - они "знают", как выполнять те или иные действия, и могут самостоятельно реагировать при возникновении определенных обстоятельств. (Например, список умеет прокручиваться назад и вперед.) Объекты являются членами классов, которые служат шаблонами, определяющими вид и поведение объекта. Объекты в Visual Basic можно программировать, создавая для них процедуры обработки событий, предназначенных для реагирования на те или иные возникающие в программе ситуации. Сама форма в Visual Basic также является объектом.
Свойство. Свойство - это значение или характеристика, принадлежащая объекту. Например, объект Button имеет свойство Text, в котором хранится текст, и свойство Image, определяющее путь к файлу с изображением, которое появляется на поверхности этой кнопки. В Visual Basic эти свойства можно задавать как при проектировании в окне Properties (Свойства) , так и во время выполнения программы, с помощью операторов в коде программы. В тексте программы команда настройки свойств имеет вид:
Object.Property = Value
где Object - это имя настраиваемого объекта, Property - характеристика (свойство), которую нужно изменить, а Value - это новое значение свойства. Например, строка
Button1.Text = "Hello"
присвоит значение "Hello" свойству Text объекта Button1.
Процедура обработки события. Процедура обработки события - это блок кода, который исполняется тогда, когда с объектом программы происходят какие-либо действия. Например, при щелчке мышью на объекте Button1 исполняется процедура обработки события Button1_Click. Процедуры обработки событий вычисляют и задают свойства объектов, а также выполняют и другую требуемую работу.
Метод. Метод - это специальный оператор, который выполняет действие или работу для конкретного объекта программы. В тексте программы для метода используется запись
Object.Method(Value)
где Object - это имя объекта, с которым вы работаете, Method - это действие, которое вы хотите выполнить, а Value - это необязательный аргумент, используемый методом. Например, в выражении
ListBox1.Items.Add("Check")
используется метод Add для добавления слова "Check" в список ListBox1. Названия методов и свойств обычно зависят от их расположения в коллекции или библиотеке объектов. Поэтому не удивляйтесь, если увидите длинные ссылки, например System.Drawing.Image.FromFile (Файл) . Подобное название можно прочитать как "метод FromFile (Файл), являющийся членом класса Image, который, в свою очередь, является членом библиотеки объектов (или пространства имен) System.Drawing".
В Visual Basic имеется несколько механизмов для приема в программе входных данных. Текстовые поля предназначены для приема информации, набираемой на клавиатуре, меню представляют собой команды, которые можно выбирать с помощью мыши или клавиатуры, а диалоговые окна содержат совокупность элементов, которые можно выбирать как по отдельности, так и группой. В этом упражнении мы познакомимся с четырьмя элементами управления, предназначенными для приема информации в различных ситуациях. Вы узнаете об элементах управления RadioButton (переключатель), CheckBox (флажок), ListBox (список) и ComboBox (комбинированный список). Мы познакомимся с ними на примере программы на Visual Basic, которая называется Input Controls и представляет собой пользовательский интерфейс для системы заказов. В следующей лекции обсуждается, как использовать эти объекты вместе с меню в законченной программе. Давайте на примере элемента управления CheckBox посмотрим, как введенная информация обрабатывается в форме и коде программы. Выполните следующие действия.
CheckBox.CheckBox появляются на форме точно так же, как и другие объекты.PictureBox и нарисуйте под этими двумя флажками два квадратных объекта вывода изображений.Установите для новых объектов следующие свойства.
| Объект | Свойство | Значение |
|---|---|---|
| CheckBox1 | Checked | True |
| Text | "Калькулятор" | |
| CheckBox2 | Text | "Копировальная машина" |
| PictureBox1 | Image | c:\vbnet03sbs\Гл.3\calcultr.bmp |
| SizeMode | StretchImage | |
| PictureBox2 | SizeMode | StretchImage |
В этой демонстрационной программе флажки используются для показа и сокрытия изображений калькулятора и копировальной машины. В свойстве Text объекта CheckBox содержится надпись, связанная с флажком в графическом интерфейсе. Свойство Checked позволяет задать для флажка значение по умолчанию. Если значение Checked равно True, в поле флажка будет стоять галочка, а если False (это значение по умолчанию), то ячейка будет пустой. Чтобы изменить размер изображений так, что они будут растянуты до размеров полей вывода, используйте свойство SizeMode. Форма должна выглядеть примерно так:

Чтобы открыть редактор кода на процедуре обработки события CheckBox1_CheckedChanged, дважды щелкните мышью на объекте флажка CheckBox1, а затем введите следующий код программы.
If CheckBox1.CheckState = 1 Then
PictureBox1.Image = System.Drawing.Image.FromFile _
("c:\vbnet03sbs\Гл.3\calcultr.bmp")
PictureBox1.Visible = True
Else
PictureBox1.Visible = False
End If
Процедура обработки события CheckBox1_CheckedChanged вызывается только в том случае, если пользователь щелкает на объекте (ячейке или надписи, то есть на всем поле) первого флажка. В процедуре обработки события используется конструкция If...Then, в которой определяется текущее состояние первого флажка. Если в его поле стоит галочка, то показывается картинка с калькулятором из папки c:\vbnet03sbs\Гл.3. Если отметка присутствует, то свойство CheckState содержит значение 1, а если она отсутствует, то значение 0. Свойство Visible используется для показа картинки, если отметка присутствует, или ее сокрытия, если отметка отсутствует. Обратите внимание, что длинная строка, которая загружает изображение в объект вывода изображения, перенесена на следующую строку с помощью символа продолжения строки (_).
Чтобы снова перейти на форму, в Solution Explorer (Обозревателе решений) нажмите кнопку View Designer (Просмотреть конструктор), а затем дважды щелкните мышью на втором флажке и добавьте в процедуру обработки события CheckBox2_CheckedChanged следующий код:
If CheckBox2.CheckState = 1 Then
PictureBox2.Image = System.Drawing.Image.FromFile _
("c:\vbnet03sbs\Гл.3\copymach.bmp")
PictureBox2.Visible = True
Else
PictureBox2.Visible = False
End If
Эта процедура события почти идентична той, которую вы только что ввели; отличаются только имена метафайла Windows (copymach.bmp), объект флажка ( CheckBox2 ) и объект вывода изображения ( PictureBox2 ).
Примечание. Готовая программа CheckBox находится по адреcу c:\vbnet03sbs\Гл.3\checkbox.
Щелкните на флажке Копировальная машина. Visual Basic выведет изображение копировальной машины, как показано ниже.

Теперь, когда у вас есть некоторый опыт работы с флажками, запустите и изучите демонстрационную программу Input Controls. Этот пример имитирует систему приема электронных заказов и в ней активно используются флажки, переключатели, простые и раскрывающиеся списки. Если вы работаете в компании, которая получает много заказов, то можете расширить эту программу и сделать на ее основе полноценное приложение для ввода заказов. После того, как вы поэкспериментируете с Input Controls, потратьте некоторое время на изучение того, как работают эти четыре элемента управления.
Form1.vb, а затем нажмите кнопку View Designer (Просмотреть конструктор).Если форма и объекты не умещаются на экране полностью, передвиньте или закройте те окна, которые вам мешают. Форма выглядит так.

Форма Input Controls содержит следующие объекты: переключатель, флажки, список, раскрывающийся список, поля для показа изображений, кнопки и надписи. Эти объекты образуют простую программу заказов, которая демонстрирует, как взаимодействуют объекты ввода информации в Visual Basic. Когда программа Input Controls запущена, она загружает метафайлы Windows из папки с:\vbnet03sbs\Гл.3\input controls, и показывает их на форме в шести полях для показа изображений.
Cовет. Если вы установили файлы практических занятий не в папку c:\vbnet03sbs, а в другое место, то в путь к файлам на диске, указанный в операторах программы, работать не будет. (Во всех операторах указана папка c:\vbnet03sbs\Гл.3\input controls.) В этом случае необходимо или переименовать вашу папку с файлами в \vbnet03sbs или изменить пути в редакторе кода. Пути можно просто переписать или выполнить замену с помощью команды Find and Replace (Найти и заменить) из меню Edit (Правка).
На стандартной панели инструментов нажмите кнопку Start (Начать). Программа запустится в среде разработки.
В поле Компьютер щелкните на переключателе
В поле Заказанные товары в правой части формы появится изображение переносного компьютера. Пользователь может щелкать на различных вариантах, и его текущий выбор будет изображен в правой части окна программы. В поле Компьютер для получения отклика от пользователя используется группа переключателей (в Visual Basic 6 они назывались кнопками выбора). Переключатели разрешают пользователю выбрать один (и только один) элемент из списка возможных.
Когда переключатели помещаются в форме в объект группы , эти переключатели рассматриваются как часть этой группы, и выбрать можно только один из них. Чтобы создать поле группы, выберите элемент управления на закладке Windows FormsToolbox (Области элементов), а затем нарисуйте этот элемент управления в вашей форме. (Элемент управления заменил элемент управления Frame из Visual Basic 6). Чтобы присвоить группе переключателей название (как это сделано в примере), нужно задать свойство Text объекта . Если объект передвинуть, то находящиеся внутри него элементы управления будут передвинуты вместе с ним.
Щелкните на флажках Автоответчик, Калькулятор и Копировальная машина, расположенных в поле Офисная техника.
Флажки используются тогда, когда пользователю нужно дать возможность выбрать сразу несколько вариантов из списка. Снова щелкните на флажке Калькулятор, и вы увидите, что картинка с калькулятором исчезла из поля заказов. Так как каждый элемент пользовательского интерфейса работает и реагирует на щелчки, выбор заказа отображается немедленно. Код, который выполняет эти задачи, почти идентичен тому, который использовался в программе CheckBox.
В списке Периферия выберите Спутниковую антенну. В поле заказа будет добавлено изображение спутниковой тарелки. Список используется тогда, когда пользователь должен выбрать единственный вариант. Списки создаются с помощью элемента управления ListBox и могут содержать много элементов для выбора (если список элементов длиннее, чем выделенное для него поле, то в списке появляется полоса прокрутки). В отличие от переключателей, в списке не требуется обязательное наличие выбора по умолчанию. В программе на Visual Basic можно добавить элементы в список, удалить их или отсортировать в процессе выполнения программы. Если вы хотите, чтобы рядом с названиями отображались отметки о выборе, то вместо элемента управления ListBox используйте CheckedListBox.
Выберите способ оплаты, например, рубли, из соответствующего раскрывающегося списка.
Раскрывающийся список аналогичен обычному списку, но занимает меньше места на форме. Visual Basic автоматически обрабатывает открытие, закрытие и прокрутку этого списка. Раскрывающийся список создается с помощью элемента управления ComboBox из палитры Область элементов, затем для него нужно задать свойство Text (значение по умолчанию), добавить в коде программы список элементов и обработку выбора пользователя.
После того, как выбор из списка сделан, форма на экране должна выглядеть примерно так.

Попробуйте повыбирать различные компьютеры, периферию и методы оплаты. Для выхода из программы нажмите кнопку Выход.
После нажатия кнопки Выход программа закрывается, и управление передается в среду разработки.
Давайте рассмотрим процедуры обработки событий в программе Input Controls и выясним, как программа обрабатывает информацию о вводе от элементов пользовательского интерфейса пользователя. В этих процедурах используются операторы If...Then и Select Case. Обратите внимание на свойство CheckState, которое меняется при выборе того или иного флажка, и на свойство SelectedIndex, которое меняется при выборе элемента из списка.
Убедитесь, что программа остановлена. Чтобы переключиться на процедуру обработки события 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.
Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку с текстом 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", то спутниковой тарелки.
Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку 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. Можете потратить несколько минут на изучение других частей этой программы, а затем переходите к следующему упражнению.
Во многих Windows-приложениях уже давно предоставляется доступ в интернет, и это уже становится стандартной функцией. В Visual Studio . NET добавить такую функцию к создаваемой программе стало намного проще. Используя шаблоны библиотеки Web Forms и другие возможности, можно создавать сложные приложения для работы по сети Интернет. А чтобы открыть веб-страницу в веб-обозревателе, потребуется всего лишь нескольких строк кода.
В этом упражнении вы научитесь применять элемент управления LinkLabel, который в поле формы показывает текст, являющейся ссылкой на адрес в Интернете.
Элемент управления LinkLabel - новое пополнение в Visual Basic. Используя его вместе с методом Process.Start, можно открывать ссылки на форме с помощью обозревателей Internet Explorer, Netscape Navigator или других. В нашем примере с помощью элемента управления LinkLabel мы подключимся к веб-странице Microsoft Press.
LinkLabel и нарисуйте в форме прямоугольный объект для текста ссылки. Объект текст ссылок выглядит как обычные объекты надпись (неизменяемый текст), но отображаются в форме синим цветом с подчеркиванием.Задайте свойство (это веб-сайт Microsoft Press).
Форма будет выглядеть примерно так.

Form1 в окне Properties (Свойства) . Как и у других объектов в проекте, у формы также есть свойства, которые можно настроить.Text формы Form1 впишите "Пример с Интернет-ссылкой". Свойство Text управляет тем, что появляется в строке заголовка формы при запуске программы. Эта настройка относится не только к веб-приложениям, в дальнейшем мы будем настраивать строку заголовка в большинстве создаваемых программ.Дважды щелкните мышью на объекте ссылки и в процедуре обработки события LinkLabel1_LinkClicked введите следующий код:
' Изменяем цвет ссылки, установив LinkVisited в значение True.
LinkLabel1.LinkVisited = True
' Используем метод Process.Start, который запускает обозреватель,
' указанный в системе по умолчанию
' с URL Microsoft Press:
System.Diagnostics.Process.Start _
("http://www.microsoft.com/rus/mspressrus/")
В этом фрагменте добавлены комментарии, чтобы дать вам возможность немного попрактиковаться в их вводе. Как только будет введен символ одиночной кавычки ('), Visual Studio изменит цвет строки на зеленый, подсказывая, что эта строка является комментарием. Комментарии предназначены только для документирования - компилятором они не обрабатываются.
Два других оператора программы, которые не являются комментариями, собственно управляют работой ссылки. Присвоение свойству LinkVisited значения True делает ссылку бледно-фиолетовой, что во многих обозревателях указывает на то, что ассоциированный со ссылкой HTML-документ уже был вызван раньше. Хотя для показа веб-страницы настройка этого свойства необязательна, считается хорошим тоном предлагать пользователю информацию в согласовании с другими приложениями.
Второй оператор программы (который был разделен на две строки) запускает веб-обозреватель по умолчанию (например, Internet Explorer), если он еще не запущен. (Если обозреватель уже запущен, то в нем немедленно загружается этот URL-адрес.) Метод Start класса Process выполняет важную работу, запуская в памяти процесс или сеанс для исполнения программы обозревателя. Класс Process управляет многими аспектами исполнения программ и входит в библиотеку объектов System.Diagnostics, которую программисты на Visual Basic .NET называют "пространство имен System.Diagnostics". Передав в метод Start интернет-адрес (или URL-адрес), мы сообщили программе на Visual Basic, что хотим посмотреть веб-сайт, и Visual Basic оказался достаточно умным, чтобы определить, что наилучшим инструментом для просмотра этого URL-адреса является обозреватель по умолчанию, хотя мы и не указывали его имя.
Метод Process.Start замечателен тем, что с его помощью можно запустить и другие Windows-приложения. Если для просмотра URL-адреса нужно определить конкретный обозреватель по его имени, это можно сделать так (в данном случае вызывается Internet Explorer).
System.Diagnostics.Process.Start("IExplore.exe", _
"http://www.microsoft.com/rus/mspressrus/")
Здесь в методе Start используются два аргумента, разделенные запятой. Точное расположение в системе программы с именем IExplore.exe не указано, но Visual Basic при запуске программы будет искать ее по открытым путям.
Если бы требовалось запустить с помощью метода Start другое приложение, например Microsoft Word (и открыть в нем документ c:\myletter.doc ), то это можно было бы сделать так:
System.Diagnostics.Process.Start("Winword.exe", _
"c:\myletter.doc")
Метод Start класса Process очень полезен, и в этой книге мы еще будем его использовать. Сейчас, когда вы ввели этот код, сохраните проект и запустите его. (Если вы экспериментировали с показанным выше синтаксисом, восстановите первоначальный код, показанный в начале шага 8.)

Снова переключитесь на форму (если она не видна, нажмите значок формы Web
Обратите внимание, что теперь ссылка окрашена другим цветом. Как и для обычной веб-ссылки, изменение цвета означает, что эта ссылка уже использовалась (но все еще активна).
Так как Visual Studio .NET - это новое приложение, многие разработчики обнаружили, что имеющиеся элементы управления Windows Forms предоставляют не все возможности, имевшиеся в элементе управления ActiveX в Visual Basic 6. Если нужно расширить коллекцию элементов управления в Visual Studio . NET, можно загрузить и использовать старые компоненты и элементы управления ActiveX (COM). Эти настраиваемые инструменты программирования предоставлялись в составе Visual Basic 6, Visual C++ 6, Microsoft Office и в других приложениях. Если в области элементов добавить старые элементы управления ActiveX, Visual Studio покажет их вместе с элементами управления . NET, и их можно будет использовать в формах, но с некоторыми ограничениями. Единственным техническим ограничением является то, что Visual Studio должна создавать для такого элемента управления оболочку, которая делает объекты, содержащиеся в элементе управления, доступными для программы .NET. В большинстве случаев Visual Studio . NET справляется с созданием таких оболочек для элементов управления автоматически, при загрузке элемента управления ActiveX.
Совет. Элементы управления ActiveX обычно имеют расширение .
Вероятно, в вашей системе имеются элементы управления ActiveX, особенно если у вас установлена предыдущая версия приложений Visual Basic или Microsoft Office. Попробуйте сейчас установить один из элементов управления ActiveX, даже если вы пока не знаете, как его следует использовать. (Далее в этой книге вы будете работать с элементами управления ActiveX, так что имеет смысл познакомиться с техникой их установки.) Элемент управления, с которым мы будем работать в этом упражнении - это элемент управления Microsoft Chart, предназначенный для создания графиков. Элемент управления Microsoft Chart входит в состав некоторых версий Microsoft Office. Если у вас нет Office или этого элемента управления, выберите какой-нибудь другой.
Найдите в списке элемент управления Microsoft Chart Control 6.0 или другой интересующий вас элемент управления, а затем щелкните на флажке рядом с ним. Диалоговое окно будет выглядеть аналогично иллюстрации.

Чтобы добавить в области элементов дополнительные элементы управления, отметьте их галочкой.
Примечание. Не все компоненты, перечисленные в диалоговом окне Customize Toolbox (Настройка области элементов), предназначены для работы в области элементов. Такие компоненты могут работать неправильно.
OK. Элемент управления появится внизу списка области элементов. Этот элемент управления появится только в текущем проекте, в других проектах он виден не будет.Чтобы увидеть вновь добавленный элемент управления, нажмите несколько раз стрелку прокрутки области элементов.
Элемент управления Microsoft Chart Control доступен в нескольких различных версиях и входит в состав приложений Office 2000 и Office XP. Вы обнаружите, что большинство элементов управления ActiveX работают так же, как и стандартные элементы управления из области элементов Visual Basic .NET. Если заранее не знать, что это элементы управления ActiveX, их будет сложно отличить их встроенных элементов управления Visual Studio .NET. Как и у обычных элементов управления, с которыми мы работали в этой лекции, у каждого элемента управления ActiveX тоже есть настраиваемые свойства и методы, которые можно вызывать.

| Чтобы | Сделайте следующее |
|---|---|
| Создать текстовое поле | Щелкните на элементе управления TextBox, а затем нарисуйте это поле. |
| Создать кнопку | Щелкните на элементе управления Button, а затем нарисуйте эту кнопку. |
| Изменить свойство во время выполнения | Измените значение свойства с помощью кода программы. Например: Label1.Text = "Привет!" |
| Создать переключатель | Используйте элемент управления RadioButton. Чтобы создать несколько переключателей, поместите более одного объекта переключателя в поле, которое вы создаете с помощью элемента управления . |
| Создать флажок | Щелкните на элементе управления CheckBox, а затем нарисуйте этот флажок. |
| Создать поле списка | Щелкните на элементе управления ListBox, а затем нарисуйте этот список. |
| Создать раскрывающийся список | Щелкните на элементе управления ComboBox, а затем нарисуйте этот раскрывающийся список. |
| Добавить в список элементы | Включите в процедуру события ListBox1.Items.Add "Принтер" |
| Отобразить веб-страницу | Создайте ссылку на эту веб-страницу с помощью элемента управления LinkLabel, а затем откройте ссылку в браузере с помощью метода Process.Start в коде программы. |
| Установить элементы управления ActiveX | Щелкните правой кнопкой мыши на закладке Toolbox (Область элементов), на которую вы хотите поместить эти элементы управления, а затем щелкните на Add/Remove Items (Добавить/Удалить компоненты), чтобы отобразить диалоговое окно Customize Toolbox (Настройка области элементов). Щелкните на закладке COM, поместите рядом с устанавливаемыми элементами управления отметки, а затем щелкните на OK. |
В этой лекции вы узнаете, как:
TextBox и Button для создания программы Hello World;DateTimePicker для показа даты вашего рождения;CheckBox, RadioButton, ListBox и ComboBox для работы с пользовательским вводом;LinkLabel для показа веб-страницы из интернета;Элементы управления Microsoft Visual Studio .NET - это графические инструменты для создания пользовательского интерфейса в программе на Visual Basic. Элементы управления расположены в среде разработки в Toolbox (Области элементов), и с помощью нескольких щелчков мышью и перетаскивания их можно использовать для создания объектов на форме. Элементы управления Windows Forms специально разработаны для создания приложений для Windows, они находятся на закладке Windows Forms окна области элементов. Некоторые из этих элементов управления мы уже использовали в предыдущей лекции . В этой лекции вы узнаете, как в программе на Visual Basic .NET показывать информацию в текстовых полях, работать с датами и временем системы, обрабатывать ввод пользователя и показывать веб-страницы. Упражнения этой лекции помогут вам спроектировать собственные приложения на Visual Basic и научат обращаться с большим количеством объектов, свойствами и кодом программы. Вы также узнаете, как добавлять старые элементы управления ActiveX в Toolbox (Области элементов) для расширения функциональности Visual Basic.
DateTimePicker запрашивает у пользователя информацию о времени и дате. Новый элемент управления LinkLabel разработан для показа веб-ссылок и управления ими.OptionButton заменен новым элементом управления RadioButton.Frame заменен новым элементом управления GroupBox .ListIndex в элементе управления ListBox заменено свойством SelectedIndex. Такое же изменение произошло и в элементе управления ComboBox.Image больше не существует. Вместо него теперь используется элемент управления PictureBox.System.Drawing.Image.FromFile (а не функции LoadPicture ).System.Diagnostics.Process.Start.Использование программы под названием Hello World ("здравствуй, мир!") стало традицией для книг по программированию. На примере программы Hello World демонстрируется, как создать и запустить с помощью данного языка программирования простейшую утилиту. Во времена "текстового" программирования Hello World обычно представляла собой программу из двух или трех строчек, которые вводились в редакторе программ и компилировались с помощью отдельного компилятора. Однако с изобретением графических инструментов программирования обычная Hello World выросла до сложной программы, содержащий несколько десятков строк и требующей для своего создания несколько различных инструментов программирования. К счастью, создание программы Hello World на Visual Basic . NET все еще достаточно просто. Вы можете построить завершенный интерфейс пользователя, создав два объекта, задав два свойства и введя одну строку кода. Давайте это сделаем.
В меню File (Файл) выберите New (Создать), затем Project (Проект). Visual Studio покажет диалоговое окно New Project (Создать проект), в котором нужно ввести имя и положение проекта на диске, а также шаблон для его создания. В отличие от предыдущих версий Visual Basic, создание проекта начинается с указания имени программы.
Совет. Каждый раз, когда вы создаете новый проект на жестком диске, нужно выполнить следующие действия.
В текстовом поле Name (Имя) введите имя MyHello, а затем нажмите кнопку Browse (Обзор). Откроется диалоговое окно Project Location (Расположение проекта). В этом окне можно указать место проекта на диске или, если необходимо, создать для проектов новые папки. Проекты можно сохранять в любом удобном месте (обычно предлагается папка \My Documents\Visual Studio Projects ), в этой книге мы рекомендуем хранить проекты в папке c:\vbnet03sbs, в которой уже имеются проекты, используемые в этой книге для практических упражнений. Если будет нужно удалить все файлы, связанные с этим курсом программирования, то вы будете знать, где они находятся, и можно просто удалить всю эту папку.
Совет. В этой книге я прошу вас создавать примеры проектов с префиксом My, чтобы отличить вашу собственную работу от имеющихся файлов упражнений.
Чтобы указать, что проект MyHello и входящие в него файлы должны быть сохранены в подпапке MyHello папки c:\vbnet03sbs\Гл.3, нажмите кнопку Open (Открыть). Сейчас диалоговое окно New Project (Создать проект) выглядит так.

Чтобы закончить создание нового проекта, нажмите OK. В Windows Button и TextBox - представлены в области элементов. Если среда программирования на вашем компьютере настроена иначе, потратьте немного времени и приведите ее к виду, как на этой иллюстрации (как настраивать среду разработки Visual Studio, описано в лекции 1).

TextBox, который находится на закладке Windows Forms.Нарисуйте текстовое поле, аналогичное этому.

В программах на Visual Basic объект текстовое поле используется для показа текста в форме или для ввода текста пользователем. То, как работает текстовое поле, зависит от настройки его свойств, и от того, как оно вызывается в коде программы. В этой простой программе текстовое поле используется для показа сообщения "Hello, world!" по нажатии на кнопку. Давайте добавим кнопку.
На форме ниже текстового поля нарисуйте кнопку. Форма должна выглядеть примерно так.

Кнопка используется, когда от пользователя нужно получить простейший отклик. Нажимая на кнопку, пользователь просит программу немедленно выполнить некоторое действие. В терминах Visual Basic пользователь, нажимая на кнопку, создает событие, которое требуется обработать в программе. Обычно в программе используются кнопки: OK, на которой пользователь щелкает, чтобы подтвердить список параметров или продолжить работу; Отмена для отказа от списка параметров; и Выход для завершения работы программы. Эти кнопки должны быть легко узнаваемы и после нажатия пользователя должны работать так, как ожидается. Характеристики любой кнопки (как и всех объектов) можно изменить с помощью настройки свойств и обращений к ее объекту в коде программы.
В окне Properties (Свойства) задайте для текстового поля и кнопки приведенные ниже свойства. Значение "пусто" для TextBox1 означает, что вы должны удалить имеющееся значение и оставить свойство пустым. Установки, которые нужно ввести, показаны в кавычках. Сами кавычки вводить не нужно.
| Объект | Свойство | Значение |
|---|---|---|
TextBox1 |
Text |
(пусто) |
Button1 |
Text |
"OK" |
Дважды щелкните мышью на кнопке OK и введите в редакторе кода между операторами Private Sub Button1_Click и End Sub следующий программный код.
TextBox1.Text = "Hello, world!"
Совет. После того, как вы наберете имя объекта TextBox1 и точку, Visual Studio покажет список всех свойств объекта текстовое поле. Вы можете выбрать свойство из этого списка, дважды щелкнув на нем мышью, или набрать его самостоятельно.
Во время работы программы оператор, который вы ввели, по нажатию на кнопку изменяет свойство Text текстового поля на "Hello, world!". (Знак равенства (=) присваивает все, что находится между кавычками, свойству Text объекта TextBox1.) В данном примере свойство объекта изменяется во время работы программы - это одно из наиболее часто использующихся применений кода в программах на Visual Basic. Введенный выше оператор находится внутри процедуры события - то есть, это инструкция, которая исполняется при щелчке на объекте Button1. В нем значение свойства (и, следовательно, содержимое текстового поля) изменяется сразу после того, как пользователь нажимает на кнопку.
Теперь программу Hello World можно запускать.
Нажмите кнопку OK. Программа покажет в текстовом поле приветствие "Hello, world!".

Когда вы нажали OK, код программы изменил свойство Text пустого текстового поля TextBox1 на текст "Hello, world!" и показал этот текст в поле. Если вы не получили этого результата, повторите шаги из предыдущего раздела и снова скомпилируйте программу. Возможно, вы неправильно задали свойство или сделали опечатку при вводе кода программы. (Синтаксические ошибки подчеркиваются в редакторе кода волнистой линией.)
Чтобы остановить программу Hello World, щелкните на кнопке Закрыть в верхнем правом углу окна этой программы.
Совет. Чтобы остановить программу, работающую в Visual Studio, можно также нажать кнопку Stop Debugging (Остановить отладку) на панели инструментов Debug (Отладка) среды Visual Studio, что приведет к закрытию этой программы. (В Visual Basic 6 эта кнопка называлась End.)
Поздравляем - вы только что влились в ряды программистов, написавших программу Hello World. Теперь давайте изучим еще один элемент управления.
Некоторые элементы управления Visual Basic показывают информацию, а другие собирают информацию от пользователя или обрабатывают данные "за кулисами". В этом упражнении мы будем работать с элементом управления DateTimePicker, который с помощью графического календаря со стрелками прокрутки спрашивает пользователя о дате или времени. Хотя в данной книге мы посмотрим только самые простые возможности элемента управления DateTimePicker, эксперименты с ним дадут вам представление о том, как много всего могут автоматически сделать элементы управления Visual Basic, и как можно обрабатывать информацию, которая от них поступает.
В программе Birthday элементы управления DateTimePicker и Button используются, чтобы выяснить у пользователя дату его рождения и показать эту информацию в окне сообщения.
В области элементов выберите элемент управления DateTimePicker.
Совет. Если вы не видите DateTimePicker в области элементов, скорее всего он находится вне пределов видимости. Чтобы прокрутить список области элементов, нажмите на нижней стрелке прокрутки, расположенной рядом с закладкой
В центре формы нарисуйте объект выбора даты и времени, как показано на следующей иллюстрации.

Объект выбора даты и времени по умолчанию показывает текущую дату, но эту настройку можно изменить в свойстве Value. Показ даты при проектировании очень удобен - это позволяет при создании объекта правильно задать его размеры.
Button, и ниже объекта выбора даты и времени добавьте объект кнопки. Эта кнопка будет использована для показа дня рождения и для проверки правильности работы объекта выбора даты и времени.Text объекта кнопки на Показать день моего рождения. Теперь нужно добавить в процедуру, связанную с объектом кнопки, несколько строк программного кода. Эта процедура называется процедурой обработки события, так как она запускается тогда, когда в объекте происходит событие, например, щелчок мышью.Дважды щелкните мышью на объекте кнопки, а потом наберите следующий фрагмент программы между операторами Private Sub и End Sub в процедуре события Button1_Click:
MsgBox("Ваш день рождения " DateTimePicker1.Text)
MsgBox("День года: " _
DateTimePicker1.Value.DayOfYear.ToString())
MsgBox("Сегодня " DateTimePicker1.Value.Now.ToString())
Этот фрагмент программы показывает три последовательных окна сообщения (небольшие диалоговые окна), которые содержат информацию из объекта календаря. В первой строке используется свойство Text календаря для вывода информации о дате рождения, которую пользователь выберет в этом объекте после запуска программы. Функция MsgBox кроме текстового значения из свойства Text календаря показывает строку "Ваш день рождения". Эти два текстовых элемента объединяются в строку с помощью оператора конкатенации (слияния) строк .
Вторая и третья строки вместе представляют собой один оператор, разделенный на две строки при помощи символа продолжения (_). Это сделано из-за того, что это выражение слишком длинное для печати в книге в одну строку. (За более подробным разъяснением того, как переносить длинные строки, обратитесь к совету на следующей странице.) В строке DateTimePicker1.Value.DayOfYear.ToString() объект календаря используется для вычисления дня года, отсчитывая с 1 января. Это делается с помощью свойства DayOfYear и метода ToString, который переводит числовой результат вычисления даты в текстовое значение, которое гораздо проще показать с помощью функции MsgBox.
Методы - это специальные выражения, которые выполняют действие или работу для конкретного объекта, например преобразуют числа в строку или добавляют еще один элемент к списку. Методы отличаются от свойств, которые содержат значение, и процедур событий, которые выполняются при манипуляциях пользователя с объектом. Методы могут использоваться совместно в нескольких объектах, так что когда вы узнаете, как использовать один метод, вы сможете использовать его в различных условиях. Некоторые важные методы мы обсудим в этой книге.
В четвертой строке фрагмента для проверки системных часов компьютера и выяснения текущих даты и времени используется свойство Now. Затем, после перевода значения в строковое (или текстовое) представление, эта информация показывается в окне сообщения.
Совет. Длина строки программы в редакторе кода и Visual Studio может быть более 65 000 символов, но обычно проще всего работать со строками, длина которых не превышает 80 символов. Длинные операторы можно разбить на несколько строк, добавив в нужном месте пробел и символ продолжения строки (_). Эта комбинация должна стоять в конце всех строк выражения, за исключением последней. Для разделения строки, заключенной в кавычки (строковой константы), символ продолжения использовать нельзя. В этом упражнении символ продолжения строки использован для того, чтобы разделить на две части вторую строку кода.
После того, как вы наберете код события Button1_Click, редактор кода должен выглядеть примерно так.

Нажмите стрелку раскрывающегося списка, чтобы вывести на экран представление этого объекта в виде календаря. Форма будет выглядеть как на следующей иллюстрации (дата, разумеется, будет другая).

Чтобы увидеть предыдущие месяцы календаря, нажмите на левой стрелке прокрутки. Обратите внимание, что текстовое поле объекта при прокрутке дат также изменяется. Однако значение Сегодня в нижней части календаря остается неизменным.
Хотя календарь можно промотать назад до даты вашего рождения, вряд ли у кого хватит терпения прокручивать месяц за месяцем. Чтобы быстрее перейти к году вашего рождения, выделите в текстовом поле значение года и введите новое значение.
Нажмите кнопку Показать день моего рождения. Visual Basic исполнит введенный вами код программы и покажет окно с сообщением, содержащим день и дату вашего рождения. Обратите внимание на соответствие двух дат.

Нажмите OK, чтобы показать последнее окно сообщения. Появятся текущие дата и время - программа работает!
Вы обнаружите, что объект выбора даты и времени очень удобен - он не только помнит новую, введенную вами информацию о дате или времени, но также отслеживает текущие дату и время и может показывать эту информацию в различных форматах.
Совет. Чтобы настроить объект выбора даты и времени для показа времени, а не даты, установите свойство Format этого объекта равным Time.
DateTimePicker.К настоящему моменту в книге было использовано несколько терминов, которые описывают элементы программы на Visual Basic. Так как до сих пор мы не дали строгих определений этим терминам, давайте сделаем это сейчас.
Оператор. Оператор - это зарезервированное или ключевое слово в коде, которое выполняет работу в программе. Операторы программы на Visual Basic выделяют память для хранения данных, открывают файлы, делают вычисления и выполняют другие важные задачи. Большинство ключевых слов в редакторе кода имеют синий цвет.
Переменная. Переменная - это специальный контейнер, используемый для временного хранения данных в программе. С помощью оператора Dim программист создает переменные для хранения результатов вычислений, создания имен файлов, отслеживания ввода и т.п. В переменных можно хранить числа, имена и значения свойств.
Элемент управления. Элемент управления - это инструмент, который используется для создания объектов в графической форме Visual Basic. Вы выбираете элементы управления в области элементов и рисуете с помощью мыши объект в поле формы. Большинство элементов управления используется для создания элементов интерфейса пользователя: кнопок, списков и полей вывода изображений.
Объект. Объект - это название элемента пользовательского интерфейса, который вы создаете в поле формы Visual Basic с помощью элемента управления из области элементов. Меняя значения свойств, объекты можно перемещать, настраивать и изменять их размер. Объекты обладают встроенной функциональностью - они "знают", как выполнять те или иные действия, и могут самостоятельно реагировать при возникновении определенных обстоятельств. (Например, список умеет прокручиваться назад и вперед.) Объекты являются членами классов, которые служат шаблонами, определяющими вид и поведение объекта. Объекты в Visual Basic можно программировать, создавая для них процедуры обработки событий, предназначенных для реагирования на те или иные возникающие в программе ситуации. Сама форма в Visual Basic также является объектом.
Свойство. Свойство - это значение или характеристика, принадлежащая объекту. Например, объект Button имеет свойство Text, в котором хранится текст, и свойство Image, определяющее путь к файлу с изображением, которое появляется на поверхности этой кнопки. В Visual Basic эти свойства можно задавать как при проектировании в окне Properties (Свойства) , так и во время выполнения программы, с помощью операторов в коде программы. В тексте программы команда настройки свойств имеет вид:
Object.Property = Value
где Object - это имя настраиваемого объекта, Property - характеристика (свойство), которую нужно изменить, а Value - это новое значение свойства. Например, строка
Button1.Text = "Hello"
присвоит значение "Hello" свойству Text объекта Button1.
Процедура обработки события. Процедура обработки события - это блок кода, который исполняется тогда, когда с объектом программы происходят какие-либо действия. Например, при щелчке мышью на объекте Button1 исполняется процедура обработки события Button1_Click. Процедуры обработки событий вычисляют и задают свойства объектов, а также выполняют и другую требуемую работу.
Метод. Метод - это специальный оператор, который выполняет действие или работу для конкретного объекта программы. В тексте программы для метода используется запись
Object.Method(Value)
где Object - это имя объекта, с которым вы работаете, Method - это действие, которое вы хотите выполнить, а Value - это необязательный аргумент, используемый методом. Например, в выражении
ListBox1.Items.Add("Check")
используется метод Add для добавления слова "Check" в список ListBox1. Названия методов и свойств обычно зависят от их расположения в коллекции или библиотеке объектов. Поэтому не удивляйтесь, если увидите длинные ссылки, например System.Drawing.Image.FromFile (Файл) . Подобное название можно прочитать как "метод FromFile (Файл), являющийся членом класса Image, который, в свою очередь, является членом библиотеки объектов (или пространства имен) System.Drawing".
В Visual Basic имеется несколько механизмов для приема в программе входных данных. Текстовые поля предназначены для приема информации, набираемой на клавиатуре, меню представляют собой команды, которые можно выбирать с помощью мыши или клавиатуры, а диалоговые окна содержат совокупность элементов, которые можно выбирать как по отдельности, так и группой. В этом упражнении мы познакомимся с четырьмя элементами управления, предназначенными для приема информации в различных ситуациях. Вы узнаете об элементах управления RadioButton (переключатель), CheckBox (флажок), ListBox (список) и ComboBox (комбинированный список). Мы познакомимся с ними на примере программы на Visual Basic, которая называется Input Controls и представляет собой пользовательский интерфейс для системы заказов. В следующей лекции обсуждается, как использовать эти объекты вместе с меню в законченной программе. Давайте на примере элемента управления CheckBox посмотрим, как введенная информация обрабатывается в форме и коде программы. Выполните следующие действия.
CheckBox.CheckBox появляются на форме точно так же, как и другие объекты.PictureBox и нарисуйте под этими двумя флажками два квадратных объекта вывода изображений.Установите для новых объектов следующие свойства.
| Объект | Свойство | Значение |
|---|---|---|
| CheckBox1 | Checked | True |
| Text | "Калькулятор" | |
| CheckBox2 | Text | "Копировальная машина" |
| PictureBox1 | Image | c:\vbnet03sbs\Гл.3\calcultr.bmp |
| SizeMode | StretchImage | |
| PictureBox2 | SizeMode | StretchImage |
В этой демонстрационной программе флажки используются для показа и сокрытия изображений калькулятора и копировальной машины. В свойстве Text объекта CheckBox содержится надпись, связанная с флажком в графическом интерфейсе. Свойство Checked позволяет задать для флажка значение по умолчанию. Если значение Checked равно True, в поле флажка будет стоять галочка, а если False (это значение по умолчанию), то ячейка будет пустой. Чтобы изменить размер изображений так, что они будут растянуты до размеров полей вывода, используйте свойство SizeMode. Форма должна выглядеть примерно так:

Чтобы открыть редактор кода на процедуре обработки события CheckBox1_CheckedChanged, дважды щелкните мышью на объекте флажка CheckBox1, а затем введите следующий код программы.
If CheckBox1.CheckState = 1 Then
PictureBox1.Image = System.Drawing.Image.FromFile _
("c:\vbnet03sbs\Гл.3\calcultr.bmp")
PictureBox1.Visible = True
Else
PictureBox1.Visible = False
End If
Процедура обработки события CheckBox1_CheckedChanged вызывается только в том случае, если пользователь щелкает на объекте (ячейке или надписи, то есть на всем поле) первого флажка. В процедуре обработки события используется конструкция If...Then, в которой определяется текущее состояние первого флажка. Если в его поле стоит галочка, то показывается картинка с калькулятором из папки c:\vbnet03sbs\Гл.3. Если отметка присутствует, то свойство CheckState содержит значение 1, а если она отсутствует, то значение 0. Свойство Visible используется для показа картинки, если отметка присутствует, или ее сокрытия, если отметка отсутствует. Обратите внимание, что длинная строка, которая загружает изображение в объект вывода изображения, перенесена на следующую строку с помощью символа продолжения строки (_).
Чтобы снова перейти на форму, в Solution Explorer (Обозревателе решений) нажмите кнопку View Designer (Просмотреть конструктор), а затем дважды щелкните мышью на втором флажке и добавьте в процедуру обработки события CheckBox2_CheckedChanged следующий код:
If CheckBox2.CheckState = 1 Then
PictureBox2.Image = System.Drawing.Image.FromFile _
("c:\vbnet03sbs\Гл.3\copymach.bmp")
PictureBox2.Visible = True
Else
PictureBox2.Visible = False
End If
Эта процедура события почти идентична той, которую вы только что ввели; отличаются только имена метафайла Windows (copymach.bmp), объект флажка ( CheckBox2 ) и объект вывода изображения ( PictureBox2 ).
Примечание. Готовая программа CheckBox находится по адреcу c:\vbnet03sbs\Гл.3\checkbox.
Щелкните на флажке Копировальная машина. Visual Basic выведет изображение копировальной машины, как показано ниже.

Теперь, когда у вас есть некоторый опыт работы с флажками, запустите и изучите демонстрационную программу Input Controls. Этот пример имитирует систему приема электронных заказов и в ней активно используются флажки, переключатели, простые и раскрывающиеся списки. Если вы работаете в компании, которая получает много заказов, то можете расширить эту программу и сделать на ее основе полноценное приложение для ввода заказов. После того, как вы поэкспериментируете с Input Controls, потратьте некоторое время на изучение того, как работают эти четыре элемента управления.
Form1.vb, а затем нажмите кнопку View Designer (Просмотреть конструктор).Если форма и объекты не умещаются на экране полностью, передвиньте или закройте те окна, которые вам мешают. Форма выглядит так.

Форма Input Controls содержит следующие объекты: переключатель, флажки, список, раскрывающийся список, поля для показа изображений, кнопки и надписи. Эти объекты образуют простую программу заказов, которая демонстрирует, как взаимодействуют объекты ввода информации в Visual Basic. Когда программа Input Controls запущена, она загружает метафайлы Windows из папки с:\vbnet03sbs\Гл.3\input controls, и показывает их на форме в шести полях для показа изображений.
Cовет. Если вы установили файлы практических занятий не в папку c:\vbnet03sbs, а в другое место, то в путь к файлам на диске, указанный в операторах программы, работать не будет. (Во всех операторах указана папка c:\vbnet03sbs\Гл.3\input controls.) В этом случае необходимо или переименовать вашу папку с файлами в \vbnet03sbs или изменить пути в редакторе кода. Пути можно просто переписать или выполнить замену с помощью команды Find and Replace (Найти и заменить) из меню Edit (Правка).
На стандартной панели инструментов нажмите кнопку Start (Начать). Программа запустится в среде разработки.
В поле Компьютер щелкните на переключателе
В поле Заказанные товары в правой части формы появится изображение переносного компьютера. Пользователь может щелкать на различных вариантах, и его текущий выбор будет изображен в правой части окна программы. В поле Компьютер для получения отклика от пользователя используется группа переключателей (в Visual Basic 6 они назывались кнопками выбора). Переключатели разрешают пользователю выбрать один (и только один) элемент из списка возможных.
Когда переключатели помещаются в форме в объект группы , эти переключатели рассматриваются как часть этой группы, и выбрать можно только один из них. Чтобы создать поле группы, выберите элемент управления на закладке Windows FormsToolbox (Области элементов), а затем нарисуйте этот элемент управления в вашей форме. (Элемент управления заменил элемент управления Frame из Visual Basic 6). Чтобы присвоить группе переключателей название (как это сделано в примере), нужно задать свойство Text объекта . Если объект передвинуть, то находящиеся внутри него элементы управления будут передвинуты вместе с ним.
Щелкните на флажках Автоответчик, Калькулятор и Копировальная машина, расположенных в поле Офисная техника.
Флажки используются тогда, когда пользователю нужно дать возможность выбрать сразу несколько вариантов из списка. Снова щелкните на флажке Калькулятор, и вы увидите, что картинка с калькулятором исчезла из поля заказов. Так как каждый элемент пользовательского интерфейса работает и реагирует на щелчки, выбор заказа отображается немедленно. Код, который выполняет эти задачи, почти идентичен тому, который использовался в программе CheckBox.
В списке Периферия выберите Спутниковую антенну. В поле заказа будет добавлено изображение спутниковой тарелки. Список используется тогда, когда пользователь должен выбрать единственный вариант. Списки создаются с помощью элемента управления ListBox и могут содержать много элементов для выбора (если список элементов длиннее, чем выделенное для него поле, то в списке появляется полоса прокрутки). В отличие от переключателей, в списке не требуется обязательное наличие выбора по умолчанию. В программе на Visual Basic можно добавить элементы в список, удалить их или отсортировать в процессе выполнения программы. Если вы хотите, чтобы рядом с названиями отображались отметки о выборе, то вместо элемента управления ListBox используйте CheckedListBox.
Выберите способ оплаты, например, рубли, из соответствующего раскрывающегося списка.
Раскрывающийся список аналогичен обычному списку, но занимает меньше места на форме. Visual Basic автоматически обрабатывает открытие, закрытие и прокрутку этого списка. Раскрывающийся список создается с помощью элемента управления ComboBox из палитры Область элементов, затем для него нужно задать свойство Text (значение по умолчанию), добавить в коде программы список элементов и обработку выбора пользователя.
После того, как выбор из списка сделан, форма на экране должна выглядеть примерно так.

Попробуйте повыбирать различные компьютеры, периферию и методы оплаты. Для выхода из программы нажмите кнопку Выход.
После нажатия кнопки Выход программа закрывается, и управление передается в среду разработки.
Давайте рассмотрим процедуры обработки событий в программе Input Controls и выясним, как программа обрабатывает информацию о вводе от элементов пользовательского интерфейса пользователя. В этих процедурах используются операторы If...Then и Select Case. Обратите внимание на свойство CheckState, которое меняется при выборе того или иного флажка, и на свойство SelectedIndex, которое меняется при выборе элемента из списка.
Убедитесь, что программа остановлена. Чтобы переключиться на процедуру обработки события 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.
Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку с текстом 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", то спутниковой тарелки.
Чтобы снова перейти в конструктор формы, в верхней части редактора кода выберите закладку 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. Можете потратить несколько минут на изучение других частей этой программы, а затем переходите к следующему упражнению.
Во многих Windows-приложениях уже давно предоставляется доступ в интернет, и это уже становится стандартной функцией. В Visual Studio . NET добавить такую функцию к создаваемой программе стало намного проще. Используя шаблоны библиотеки Web Forms и другие возможности, можно создавать сложные приложения для работы по сети Интернет. А чтобы открыть веб-страницу в веб-обозревателе, потребуется всего лишь нескольких строк кода.
В этом упражнении вы научитесь применять элемент управления LinkLabel, который в поле формы показывает текст, являющейся ссылкой на адрес в Интернете.
Элемент управления LinkLabel - новое пополнение в Visual Basic. Используя его вместе с методом Process.Start, можно открывать ссылки на форме с помощью обозревателей Internet Explorer, Netscape Navigator или других. В нашем примере с помощью элемента управления LinkLabel мы подключимся к веб-странице Microsoft Press.
LinkLabel и нарисуйте в форме прямоугольный объект для текста ссылки. Объект текст ссылок выглядит как обычные объекты надпись (неизменяемый текст), но отображаются в форме синим цветом с подчеркиванием.Задайте свойство (это веб-сайт Microsoft Press).
Форма будет выглядеть примерно так.

Form1 в окне Properties (Свойства) . Как и у других объектов в проекте, у формы также есть свойства, которые можно настроить.Text формы Form1 впишите "Пример с Интернет-ссылкой". Свойство Text управляет тем, что появляется в строке заголовка формы при запуске программы. Эта настройка относится не только к веб-приложениям, в дальнейшем мы будем настраивать строку заголовка в большинстве создаваемых программ.Дважды щелкните мышью на объекте ссылки и в процедуре обработки события LinkLabel1_LinkClicked введите следующий код:
' Изменяем цвет ссылки, установив LinkVisited в значение True.
LinkLabel1.LinkVisited = True
' Используем метод Process.Start, который запускает обозреватель,
' указанный в системе по умолчанию
' с URL Microsoft Press:
System.Diagnostics.Process.Start _
("http://www.microsoft.com/rus/mspressrus/")
В этом фрагменте добавлены комментарии, чтобы дать вам возможность немного попрактиковаться в их вводе. Как только будет введен символ одиночной кавычки ('), Visual Studio изменит цвет строки на зеленый, подсказывая, что эта строка является комментарием. Комментарии предназначены только для документирования - компилятором они не обрабатываются.
Два других оператора программы, которые не являются комментариями, собственно управляют работой ссылки. Присвоение свойству LinkVisited значения True делает ссылку бледно-фиолетовой, что во многих обозревателях указывает на то, что ассоциированный со ссылкой HTML-документ уже был вызван раньше. Хотя для показа веб-страницы настройка этого свойства необязательна, считается хорошим тоном предлагать пользователю информацию в согласовании с другими приложениями.
Второй оператор программы (который был разделен на две строки) запускает веб-обозреватель по умолчанию (например, Internet Explorer), если он еще не запущен. (Если обозреватель уже запущен, то в нем немедленно загружается этот URL-адрес.) Метод Start класса Process выполняет важную работу, запуская в памяти процесс или сеанс для исполнения программы обозревателя. Класс Process управляет многими аспектами исполнения программ и входит в библиотеку объектов System.Diagnostics, которую программисты на Visual Basic .NET называют "пространство имен System.Diagnostics". Передав в метод Start интернет-адрес (или URL-адрес), мы сообщили программе на Visual Basic, что хотим посмотреть веб-сайт, и Visual Basic оказался достаточно умным, чтобы определить, что наилучшим инструментом для просмотра этого URL-адреса является обозреватель по умолчанию, хотя мы и не указывали его имя.
Метод Process.Start замечателен тем, что с его помощью можно запустить и другие Windows-приложения. Если для просмотра URL-адреса нужно определить конкретный обозреватель по его имени, это можно сделать так (в данном случае вызывается Internet Explorer).
System.Diagnostics.Process.Start("IExplore.exe", _
"http://www.microsoft.com/rus/mspressrus/")
Здесь в методе Start используются два аргумента, разделенные запятой. Точное расположение в системе программы с именем IExplore.exe не указано, но Visual Basic при запуске программы будет искать ее по открытым путям.
Если бы требовалось запустить с помощью метода Start другое приложение, например Microsoft Word (и открыть в нем документ c:\myletter.doc ), то это можно было бы сделать так:
System.Diagnostics.Process.Start("Winword.exe", _
"c:\myletter.doc")
Метод Start класса Process очень полезен, и в этой книге мы еще будем его использовать. Сейчас, когда вы ввели этот код, сохраните проект и запустите его. (Если вы экспериментировали с показанным выше синтаксисом, восстановите первоначальный код, показанный в начале шага 8.)

Снова переключитесь на форму (если она не видна, нажмите значок формы Web
Обратите внимание, что теперь ссылка окрашена другим цветом. Как и для обычной веб-ссылки, изменение цвета означает, что эта ссылка уже использовалась (но все еще активна).
Так как Visual Studio .NET - это новое приложение, многие разработчики обнаружили, что имеющиеся элементы управления Windows Forms предоставляют не все возможности, имевшиеся в элементе управления ActiveX в Visual Basic 6. Если нужно расширить коллекцию элементов управления в Visual Studio . NET, можно загрузить и использовать старые компоненты и элементы управления ActiveX (COM). Эти настраиваемые инструменты программирования предоставлялись в составе Visual Basic 6, Visual C++ 6, Microsoft Office и в других приложениях. Если в области элементов добавить старые элементы управления ActiveX, Visual Studio покажет их вместе с элементами управления . NET, и их можно будет использовать в формах, но с некоторыми ограничениями. Единственным техническим ограничением является то, что Visual Studio должна создавать для такого элемента управления оболочку, которая делает объекты, содержащиеся в элементе управления, доступными для программы .NET. В большинстве случаев Visual Studio . NET справляется с созданием таких оболочек для элементов управления автоматически, при загрузке элемента управления ActiveX.
Совет. Элементы управления ActiveX обычно имеют расширение .
Вероятно, в вашей системе имеются элементы управления ActiveX, особенно если у вас установлена предыдущая версия приложений Visual Basic или Microsoft Office. Попробуйте сейчас установить один из элементов управления ActiveX, даже если вы пока не знаете, как его следует использовать. (Далее в этой книге вы будете работать с элементами управления ActiveX, так что имеет смысл познакомиться с техникой их установки.) Элемент управления, с которым мы будем работать в этом упражнении - это элемент управления Microsoft Chart, предназначенный для создания графиков. Элемент управления Microsoft Chart входит в состав некоторых версий Microsoft Office. Если у вас нет Office или этого элемента управления, выберите какой-нибудь другой.
Найдите в списке элемент управления Microsoft Chart Control 6.0 или другой интересующий вас элемент управления, а затем щелкните на флажке рядом с ним. Диалоговое окно будет выглядеть аналогично иллюстрации.

Чтобы добавить в области элементов дополнительные элементы управления, отметьте их галочкой.
Примечание. Не все компоненты, перечисленные в диалоговом окне Customize Toolbox (Настройка области элементов), предназначены для работы в области элементов. Такие компоненты могут работать неправильно.
OK. Элемент управления появится внизу списка области элементов. Этот элемент управления появится только в текущем проекте, в других проектах он виден не будет.Чтобы увидеть вновь добавленный элемент управления, нажмите несколько раз стрелку прокрутки области элементов.
Элемент управления Microsoft Chart Control доступен в нескольких различных версиях и входит в состав приложений Office 2000 и Office XP. Вы обнаружите, что большинство элементов управления ActiveX работают так же, как и стандартные элементы управления из области элементов Visual Basic .NET. Если заранее не знать, что это элементы управления ActiveX, их будет сложно отличить их встроенных элементов управления Visual Studio .NET. Как и у обычных элементов управления, с которыми мы работали в этой лекции, у каждого элемента управления ActiveX тоже есть настраиваемые свойства и методы, которые можно вызывать.

| Чтобы | Сделайте следующее |
|---|---|
| Создать текстовое поле | Щелкните на элементе управления TextBox, а затем нарисуйте это поле. |
| Создать кнопку | Щелкните на элементе управления Button, а затем нарисуйте эту кнопку. |
| Изменить свойство во время выполнения | Измените значение свойства с помощью кода программы. Например: Label1.Text = "Привет!" |
| Создать переключатель | Используйте элемент управления RadioButton. Чтобы создать несколько переключателей, поместите более одного объекта переключателя в поле, которое вы создаете с помощью элемента управления . |
| Создать флажок | Щелкните на элементе управления CheckBox, а затем нарисуйте этот флажок. |
| Создать поле списка | Щелкните на элементе управления ListBox, а затем нарисуйте этот список. |
| Создать раскрывающийся список | Щелкните на элементе управления ComboBox, а затем нарисуйте этот раскрывающийся список. |
| Добавить в список элементы | Включите в процедуру события ListBox1.Items.Add "Принтер" |
| Отобразить веб-страницу | Создайте ссылку на эту веб-страницу с помощью элемента управления LinkLabel, а затем откройте ссылку в браузере с помощью метода Process.Start в коде программы. |
| Установить элементы управления ActiveX | Щелкните правой кнопкой мыши на закладке Toolbox (Область элементов), на которую вы хотите поместить эти элементы управления, а затем щелкните на Add/Remove Items (Добавить/Удалить компоненты), чтобы отобразить диалоговое окно Customize Toolbox (Настройка области элементов). Щелкните на закладке COM, поместите рядом с устанавливаемыми элементами управления отметки, а затем щелкните на OK. |
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.