Мигаючий текст

Створити проект  в якому текст мітки з’являтиметься посимвольно зліва, після чого мигатиме кілька разів і знову повторюватиметься спочатку.

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

Для реалізації поставленої задачі нам необхідно помістити на форму кнопку Button, текстову мітку Label,  та два таймери Timer. З панелі елементів керування Toolbox перемістимо на форму всі вказані елементи керування. В результаті ви маєте отримати, форму такого вигляду як вказано на рис.1:

 

Напишемо програмний код для реалізації поставленої задачі:

 Public Class Form1

    'Створимо глобальні змінні для виконання проекту

    Dim title As String = "Програмування - це цікаво!"

    Dim b As Integer

    Dim p As Integer

    Dim i As Integer

 

    'Створимо процедуру, яка задаватиме змінним початкові значення

    Sub CheckAgain()

        'Змінна і отримує значення довжини рядка title

        i = Len(title)

        'Змінні p i b обнуляємо

        b = 0

        p = 0

    End Sub

 

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

                            Handles MyBase.Load

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

        Me.Text = "Мигаючий текст"

        Button1.Text = "Старт"

        Label1.Text = ""

        Label1.Font = New Font("Courier New", 12.0F, FontStyle.Bold)

        Label1.ForeColor = Color.Chocolate

        Timer1.Enabled = False

        Timer1.Interval = 200

        Timer2.Enabled = False

        Timer2.Interval = 100

        'Викликаємо процедуру очистки початкової очистки змінних

        CheckAgain()

    End Sub

 

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

                                Handles Button1.Click

        'Програмуємо процедуру запуску та зупинки анімації тексту:

        If Button1.Text = "Старт" Then

            Timer1.Enabled = True

            Button1.Text = "Стоп"

        ElseIf Button1.Text = "Стоп" Then

            Timer1.Enabled = False

            Timer2.Enabled = False

            Button1.Text = "Старт"

        End If

    End Sub

 

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

                            Handles Timer1.Tick

        'Створюємо змінну, яка нарощуватиме текст

        Dim t As String

        'Задаємо їй значення

        t = Microsoft.VisualBasic.Left(title, b)

        'Виводимо цю стрічку в текстову мітку

        Label1.Text = t

        'Збільшуємо лічильник

        b = b + 1

        'Якщо стрічка вивелась повністю, зупиняємо timer1,

        'запускаємо timer2, та обнуляємо лічильники р та b

        If b > i Then

            b = 0

            Timer1.Enabled = False

            Timer2.Enabled = True

            p = 0

        End If

    End Sub

 

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

                            Handles Timer2.Tick

        'Нарощуємо лічильник 2-го тайиера

        p = p + 1

        'Якщо його значення парне виводимо текст в мітку

        If p Mod 2 = 0 Then

            Label1.Text = title

        Else

            Label1.Text = "" 'Інакше виводимо порожній рядок

        End If

        'Якщо відбулося 10 бліків, починаємо анімацію спочатку

        If p = 10 Then

            Timer1.Enabled = True

            Timer2.Enabled = False

        End If

    End Sub

End Class

 Отже, спочатку при завантаженні форми обидва таймери вимкненні. Запускаємо анімацію кліком на кнопці Старт. Для першого таймера обробник події досить простий і майже співпадає з попередньою задачею, єдина відмінність, тут ми вмикаємо другий таймер після виведення всього тексту в мітку. Другий таймер забезпечить блимання тексту 5 разів, і запустить все з початку. Описана на початку проекту процедура CheckAgain просто встановлює початкове значення для змінної і та обнуляє значення лічильників p і b. 

Приклад роботи програми зображено на рисунку: