Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3927 / 218 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 7:

Использование условных структур

Аннотация: В этой лекции вы узнаете, как выполнить определенную область кода программы в зависимости от данных, введенных пользователем. Вы также узнаете, как просмотреть значения свойств объектов с помощью условных операторов и выполнить определенный программный код

В этой лекции вы узнаете, как:

  • писать условные выражения;
  • использовать оператор If...Then для создания перехода по условию;
  • "закоротить" оператор If...Then ;
  • использовать оператор Select Case для выбора одного варианта из нескольких возможных;
  • обнаруживать события мыши и управлять ими.

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

Что нового в Visual Basic .NET?

Visual Basic .NET содержит два новых логических оператора с именами AndAlso и OrElse. В условном операторе (который содержит несколько условий, таком, как структура If...Then ), не всегда требуется вычислять все условия. Пропуск условий иногда называется "закорачиванием" и может определяться с помощью операторов AndAlso и OrElse.

Программирование на основе событий

До сих пор программы этой книги отображали на экране меню, объекты и диалоговые окна и предлагали пользователям произвести какие-то действия с элементами на экране в заданном порядке. Пока пользователь выполнял действия, программы терпеливо ожидали его реакции, а затем обрабатывали то, что он ввел. В программистских кругах эта методология известна как программирование на основе событий. Вы строите программу, создавая группу "умных" объектов, которые знают, как реагировать на попытки пользователя взаимодействовать с ними, а затем обрабатываете ввод с помощью процедур событий, ассоциированных с этими объектами. Следующая диаграмма показывает, как работает программа на основе событий, написанная на Visual Basic.


Данные в программу могут также поступать от самого компьютера. Например, ваша программа может получать уведомление о доставке сообщения по электронной почте, или о том, что по системным часам прошел некоторый период времени. Эти события генерирует компьютер, а не пользователь. Независимо от того, как генерируется событие, Visual Basic реагирует на него, вызывая процедуру события, ассоциированную с объектом, который принял событие. До сих пор вы работали, в основном, с событиями Click, CheckedChanged и SelectedIndexChanged. Однако объекты Visual Basic также могут реагировать и на другие типы событий.

События, поддерживаемые объектами Visual Basic

Каждый объект в Visual Basic имеет предопределенный набор событий, на которые он может реагировать. Список этих событий можно увидеть, выделив имя объекта в раскрывающемся списке Class Name (Имя класса) в верхней части Редактора кода и щелкнув на раскрывающемся списке Method Name (Имя метода). (Имена событий Microsoft Visual Studio помечает значком в форме молнии.) Вы можете написать процедуру обработки любого события из списка, и, если при выполнении программы это событие произойдет, Visual Basic выполнит процедуру события, ассоциированную с ним. Например, объект списка поддерживает более 60 событий, включая Click, DoubleClick, DragDrop, DragOver, GotFocus, KeyDown, KeyPress, KeyUp, LostFocus, MouseDown, MouseMove, MouseUp, MouseHover, TextChanged и Validated. В ваших приложениях, вероятно, не потребуется программировать более трех или четырех из этих событий, но при создании элементов интерфейса следует знать, что у вас есть такой богатый выбор. На следующей иллюстрации показана часть списка событий в Редакторе кода для объекта ListBox (список).


Управление программой Visual Basic по событиям означает, что большинство производимых вычислений будет выполняться в процедурах событий. Эти блоки кода могут обрабатывать ввод данных, вычислять новые значения, отображать полученные результаты или выполнять другие задачи. В предыдущей лекции вы узнали о том, как для выполнения вычислений в процедурах событий использовать переменные, операторы и математические формулы. В этой лекции вы узнаете, как использовать для сравнения переменных, свойств и значений условные структуры, а также узнаете, как в соответствии с результатом этого сравнения выполнять один или несколько операторов программы. В "Циклы и таймеры" вы будете использовать циклы для повторного выполнения групп операторов до тех пор, пока не будет достигнуто некоторое значение, или пока не выполнится конкретное условие. Вместе эти структуры помогут вам создавать процедуры событий так, что они смогут реагировать почти на любую ситуацию.

Использование условных выражений

Один из наиболее мощных инструментов для обработки информации в процедуре события - это условное выражение. Условное выражение - это часть полного оператора программы, которая задает вопрос "истина или ложь?" по поводу содержимого свойства, переменной или другой части данных кода программы. Например, условное выражение

Price < 100

равно True, если переменная Price содержит значение, которое меньше 100, и равно False, если Price содержит значение, которое больше или равно 100. В условных выражениях вы можете использовать следующие операторы сравнения.

Оператор сравнения Значение
= Равно
<> Не равно
> Больше, чем
< Меньше, чем
>= Больше или равно
<= Меньше или равно

Совет. Выражения, которые могут быть вычислены как True или False, также известны как Boolean (булевы, логические). Вы можете присвоить значения типа Boolean некоторым свойствам объектов или переменным типа Boolean, которые были созданы с помощью оператора Dim и ключевого слово As Boolean.

В следующей таблице показаны некоторые условные выражения и их результаты. В упражнении, приведенном далее в этой лекции, вы будете работать с условными выражениями.

Условное выражение Результат
10 <> 20 True (истина, 10 не равно 20)
Score <20 True, если Score меньше 20; в противном случае False
Score = Label1.Text True, если свойство Text объекта Label1 содержит такое же значение, что и переменная Score; в противном случае False
TextBox1.Text = "Билл" True, если в первом текстовом поле содержится слово "Билл"; в противном случае False
Жанболат Шаймерден
Жанболат Шаймерден

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