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


Пример


Задача: Создать кнопку следующего вида, поведения и содержания:

В левой части кнопки находится иконка с луной.

В правой части кнопки имеется изменяющийся текст, указывающий, сколько раз по кнопке щелкнули с момента ее создания, например, «19 щелч.».

У кнопки есть дополнительное ReadOnly свойство Число_щелчков, смысл которого очевиден.

На 10-м щелчке по кнопке она порождает событие Наступление_зрелости. Подразумевается, что пока на кнопку не нажали 10 раз, она еще неопытная, незрелая, а когда нажали – она уже опытная, зрелая, ветеран. Таким образом, у кнопки есть дополнительное событие.

У кнопки есть дополнительное ReadOnly булевское свойство Ветеран, которое равно False до 10-го щелчка и True – после.

У кнопки есть дополнительный метод Прыжок, который заставляет кнопку прыгнуть направо. Дальность прыжка является параметром метода.

Решение: Создайте проект с кнопкой Button1, которая нужна только для проверки работы нашей создаваемой кнопки. Вот код:

Форма:

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

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Кнопка.Прыжок(40)

        Debug.WriteLine(Кнопка.Число_щелчков)

        Debug.WriteLine(Кнопка.Ветеран)

End Sub

 

Private Sub Кнопка_Наступление_зрелости() Handles Кнопка.Наступление_зрелости

        MsgBox("Зрелость наступила")

End Sub

Класс:

Public Class clsКнопка

    Inherits Button

 

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

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

        Get

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

        End Get

    End Property

 

    Private Опытная_кнопка As Boolean = False

    Public ReadOnly Property Ветеран() As Boolean

        Get

            Return Опытная_кнопка

        End Get

    End Property




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



Книжный магазин