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