Дальнейшее усложнение
Закройте проект и сделайте еще одну копию его папки – «Красим форму 2». Над копией будем продолжать работу. Откройте проект из этой папки.
Работа для второй кнопки. Давайте напишем программу и для второй кнопки (Button2). Пусть при щелчке по ней:
- Ширина горизонтальной полосы прокрутки становится равной 200
- В текстовом поле TextBox1 появляется текст «Ширина полосы = 200»
- Вновь становится виден элемент переключателя (RadioButton2).
- Кнопка Button2 окрашивается в красный цвет.
В результате картинка должна стать такой, как на Рис. 1.21.
Рис. 1.21
В режиме дизайна (проектирования) сделаем по кнопке Button2 двойной щелчок мышкой. Перед нами – снова окно кода, но в нем появилась заготовка другой процедуры, то есть новое приглашение – на этот раз приглашение для ввода операторов, реагирующих на щелчок кнопки Button2. Введем их. Теперь содержимое окна кода таково:
Public Class Form1
Inherits System.Windows.Forms.Form
Windows Form Designer generated code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
HScrollBar1.Width = 100
TextBox1.Text = "Ширина полосы = 100"
RadioButton2.Hide()
Button2.BackColor = Color.Yellow
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
HScrollBar1.Width = 200
TextBox1.Text = "Ширина полосы = 200"
RadioButton2.Show()
Button2.BackColor = Color.Red
End Sub
End Class
Пояснение: Для того, чтобы элемент RadioButton2 стал снова виден, мы использовали его метод Show. Кнопка же красится в красный цвет.
Запустите проект. Пощелкайте по кнопкам. Картинка у вас попеременно будет иметь вид то Рис. 1.20, то Рис. 1.21 .
Visual Studio .NET 2003 для удобства программиста отделяет процедуры в окне кода горизонтальной чертой. В книжке я не буду этого делать, ограничившись пропуском строки.
Аналогия. Давайте проведем аналогию между нашей программой и программой, которую мы дали любителю футбола в 1.1
Та программа состояла из нескольких процедур, эта также состоит из нескольких (двух) процедур.
Та программа описывала поведение одного человека в городе, эта описывает поведение нескольких объектов на форме.
В той программе процедуры состояли из команд, записанных одна за другой и выполнявшихся в порядке записи. В этой программе – то же самое: процедуры состоят из операторов, записанных один за другим и выполняющихся в порядке записи.
В той программе встречались процедуры двух типов ("Как…" и "Что делать, если…"). В этой программе обе процедуры одного типа - "Что делать, если нажата кнопка". О процедурах типа "Как…" поговорим позже.
В той программе события – это "Застрял лифт", "Заблудился", в этой события - это нажатия на кнопки.
Красим форму. А как же с обещанной покраской формы? Ах, да, забыл! Поместите на форму третью кнопку и создайте для нее такую процедуру:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.BackColor = Color.White
End Sub
Me – по-русски «Я». Так называют в окне кода формы саму форму, несмотря на то, что ее официальное имя – Form1. Красим мы ее в белый цвет (White). Результат нажатия на кнопку 3 виден на Рис. 1.22.
Рис. 1.22