Мигаючий текст
Створити проект в якому текст мітки з’являтиметься посимвольно зліва, після чого мигатиме кілька разів і знову повторюватиметься спочатку.
Для початку завантажимо 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.
Приклад роботи програми зображено на рисунку: