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


Создаем кнопку


Запланируем поместить нашу будущую кнопку в уже созданную библиотеку Моя_библиотека_элементов_управления.dll. Для этого нам не придется создавать новый проект Windows Control Library, а нужно будет просто открыть старый – Моя_библиотека_элементов_управления. Проделаем это. В проекте уже имеется класс Запретная_зона, добавим новый. Для этого – Project ® Add New Item ® в возникшем окне Add New Item (Рис. 25.5) выбираем User Control ® даем ему имя Моя_кнопка ® Open. Вы видите, что в окне Solution Explorer рядом со значком Запретная_зона.vb появился значок Моя_кнопка.vb.

Рис. 25.5

В окне кода нового класса мы видим строку

    Inherits System.Windows.Forms.UserControl

Наша кнопка наследует класс UserControl, вид и поведение у которого явно не кнопочные. Исправим такое положение, заменив эту строку на следующую:

    Inherits Button

Теперь в нашем распоряжении вся мощь компонентов кнопки. И вид у нашей кнопки будет соответствующий. Вы видите также, что окно конструктора элементов управления пользователя уступило место широко распахнутому окну дизайнера компонентов с пояснительным текстом внутри (Рис. 25.6).

Рис. 25.6

В окне свойств появились свойства, специфичные для кнопки. (Если почему-либо этого не произошло, попробуйте закрыть и снова открыть проект.)

Теперь те свойства кнопки, которые мы вынуждены были в 22.14.1 создавать программным способом в конструкторе New, можно задавать вручную в окне свойств. Сделайте это, придав кнопке картинку (Image) и выровняв картинку налево, а текст – направо. Само свойство Text не трогайте.

Вот что мы видим в окне кода:

Public Class Моя_кнопка

    Inherits Button

Windows Form Designer generated code

End Class

Теперь нам нужно ввести в это окно примерно такой же код, что в 22.14.1:

Public Class Моя_кнопка

    Inherits Button

Windows Form Designer generated code

    Public ReadOnly Property Число_щелчков() As Integer

        Get

            Return Число_щелчков_по_кнопке

        End Get

    End Property

    Private Число_щелчков_по_кнопке As Integer = 0




Начало  Назад  Вперед