Ефект лічильника

Створимо проект в якому текст мітки змінюватиметься з часом шляхом підбору символів, справа наліво, подібно до лічильника.

Для початку завантажимо Visual Studio 2010 та обиремо пункт меню Файл – Создать проект (File | New | Project).  У наступному вікні New Project обираємо пункт Visual Basic, а потім в області шаблонів (середня колонка) обираємо шаблон (Templates) Windows Forms Application. В якості назви проекту введемо ім’я Лічильник і натиснемо кнопку ОК.

З панелі Toolbox перетягнемо в форму мітку Label і таймер Timer. В результаті отримаємо форму наступного вигляду:

Спочатку нам необхідно задати початкові властивості елементам керування формою. Це здійснимо при обробці події Form1_Load. Але, оскільки нам необхідно задати декілька параметрів мітці Label1, тут доцільно буде використати структуру:

With Label1

     ...

     ...

     ...

End With

 Замість крапок нам потрібно вказати властивості елемента керування Label1, та надати їм необхідних значень, наприклад:

        With Label1

            .Text = "VISUAL"

            .Font = New Font("Consolas", 54.0F, FontStyle.Bold)

            .ForeColor = Color.Cyan

            .TextAlign = ContentAlignment.MiddleCenter

            .Cursor = Cursors.Hand

              End With

Сам ефект лічильника буде реалізовано в події Timer1_Tick, яка почне виконуватись після кліку на елементі керування Label1.

Повний лістинг програми наведено нижче:

 Public Class Form1

    'Для початку задамо дві змінні для лічильника:

    Dim FXCounter As Integer = 0

    Dim FXCounter1 As Integer

    'А також створимо рядкову змінну для підбору літер:

    Dim SingleChar As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _

                         Handles MyBase.Load

        'Задаємо початкові властивості елементам керування:

        Me.Text = "Ефект лічильника"

        Timer1.Interval = 200

        'Для задання властивостей текстової мітки використаємо наступну структуру:

        With Label1

            'Задамо напис в мітці

            .Text = "VISUAL"

            'Задамо шрифт мітки

            .Font = New Font("Consolas", 54.0F, FontStyle.Bold)

            'Задамо колір шрифту:

            .ForeColor = Color.Cyan

            'Задамо вирівнювання тексту в мітці:

            .TextAlign = ContentAlignment.MiddleCenter

            'Змінимо вигляд курсору миші при наведенні на мітку:

            .Cursor = Cursors.Hand

        End With

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _

                            Handles Label1.Click

        'Запустимо таймер при кліку на мітці

        Timer1.Enabled = True

    End Sub

 

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) _

                            Handles Timer1.Tick

        'Створимо змінну в яку помістимо кінцевий текст, який має з'явитися в мітці

        Dim StrTemp As String

        StrTemp = "BASIC!"

        'Проходимо в циклі по всіх символах справа наліво:

        If FXCounter = 0 Then

            FXCounter1 = 31

            FXCounter = 1

        End If

        'Задамо та визначимо позицію для заміни символу:

        Dim iStart As Integer

        iStart = Len(StrTemp) - (FXCounter - 1)

        'Міняємо обраний символ та нарощуємо лічильники

        Try

            If FXCounter1 = 31 Then SingleChar = Mid$(StrTemp, iStart, 1)

            FXCounter1 = FXCounter1 + 1

            Mid(Label1.Text, iStart, 1) = Chr(FXCounter1)

            If FXCounter1 = Asc(SingleChar) Then

                FXCounter1 = 31

                FXCounter = FXCounter + 1

            End If

            'Якщо виникає помилка, зупиняємо таймер та виводимо повідомлення:

        Catch ex As Exception When iStart = 0

            Timer1.Enabled = False

        End Try

    End Sub

End Class

 Приклад виконання програми: