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

       

Наследуем элементы управления


В 22.13.2 мы следующим образом создавали на форме кнопку:

Dim WithEvents  b As New Button          'Создаем кнопку

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.Controls.Add(b)                          'Добавляем созданную кнопку в коллекцию формы

End Sub

Что будет, если мы создадим и запустим проект такого содержания?:

Dim WithEvents Кнопка As New clsКнопка

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

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

End Sub

Public Class clsКнопка

    Inherits Button

End Class

Результат будет тот же самый.

Чем же новый способ отличается от старого? Почему вообще новый способ сработал? Поскольку класс clsКнопка является наследником класса Button, он обладает всеми свойствами, методами и событиями кнопки. А значит из него можно создавать объект – обычную кнопку, которым и пользоваться можно как обычной кнопкой. А отличается этот способ тем, что теперь в коде класса clsКнопка мы можем придавать нашей кнопке какие угодно новые свойства, методы и события. В результате мы можем сконструировать кнопку, внешний вид и поведение которой резко отличаются от обычной кнопки.

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



Содержание раздела