ПОНЯТНО О Visual Basic NET (том 2)



              


6.1.2. Создаем объекты из класса - часть 2


        Dim Кнопка1 As Button

Button  – это один из многих типов (классов) объектов – элементов управления.

Глубина – это переменная величина, имеющая тип Double, являющийся числом.

Кнопка1 – это переменная величина, имеющая тип Button, являющийся классом.

Говорят, что переменная Кнопка1 имеет объектный тип. Это значит, что ее значением является не число и не строка, а объект – экземпляр класса. Пусть вас не удивляет, что такая сложная вещь, как объект, может быть значением такой простой вещи, как переменная величина. В конце концов, значением переменной величины Город_где_я_сейчас_нахожусь является такая грандиозная вещь, как Москва.

Итак, после выполнения первой строки в процедуре компьютер знает, что переменная Кнопка1 будет кнопкой, но новая кнопка пока еще не создана. Чтобы убедиться в этом, поставьте мышь в окне кода на слово Кнопка1 – всплывет подсказка Кнопка1=Nothing. Слово Nothing по-английски – «Ничто».

Чтобы создать кнопку, вы выполняете оператор

        Кнопка1 = New Button()

Слово New вместе с Button означает, что создается НОВЫЙ объект класса Button. В этот момент и «штампуется тарелка». Чтобы убедиться в этом, поставьте мышь на слово Кнопка1 – всплывет подсказка   Кнопка1={System.Windows.Forms.Button}.  Это означает, что Кнопка1 стала объектом класса Button пространства имен System.Windows.Forms. VB отводит в памяти место под объект класса Button.

Объект создан, но создан только в памяти компьютера, на поверхности формы он пока не виден. Тем не менее, мы уже можем менять его свойства и узнавать их значение:

        Кнопка1.Text = "Кнопка №1"

        Debug.WriteLine(Кнопка1.Width)

Чтобы кнопка появилась на форме, форма должна «принять ее в свое лоно», добавить (Add) ее в коллекцию своих элементов управления (Controls):

        Me.Controls.Add(Кнопка2)

Подробнее о коллекциях см. в 16.2.

(В пошаговом режиме созданная кнопка будет реально видна только после завершения процедуры.)

Создадим теперь из того же класса Button еще одну кнопку. Для краткости оператор объявления и оператор создания объекта объединяем в один:

        Dim Кнопка2 = New Button()

Далее аналогично:

        Кнопка2.Text = "Кнопка №2"

        Me.Controls.Add(Кнопка2)

По умолчанию все кнопки появляются на форме в ее левом верхнем углу, и чтобы новая кнопка не загородила старую, я сдвину ее на 50 пикселей вниз:

        Кнопка2.Location = New Point(0, 50)

Смысл этой строки вы поймете позже, а сейчас не будем отвлекаться.

Наши новые кнопки выглядят вполне прилично, но ничего пока не умеют делать. Как научить их работать, написано в 22.13.

Мы сейчас создавали элементы управления. Однако классов в VB гораздо больше, чем элементов управления. Как создавать объекты из них? Это делается в коде и совершенно аналогично тому, как мы делали это только что.




Содержание  Назад  Вперед