Властивість Visible та спливаюча підказка ToolTip в стилі Balloon

Продемонструємо можливості властивості Visible (Видимий). Програма записує в мітку Label деякий текст, а користувачач за допомого кнопки робить його видимим, а потім невидимим і т.д. При затримці вказівника миші над кнопкою з’являється спливаюча підказка «Натисни мене» в новому стилі Balloon

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

Далі з панелі елементів керування Toolbox перемістимо на форму мітку Label, кнопку Button та спливаючу підказку ToolTip.

Тільки в цьому випадку кожен елемент керування формою, включаючи саму форму, отримує властивість ToolTip on Tip. Переконатись в цьому можливо, переглянувши властивості елементів керування.

Для кнопки Button1 властивість ToolTip on Tip ми могли б задати «Натисни мене». Але ми спробуємо задати це безпосередньо в програмному коді. В цьому випадку програмісту не доведеться занадто довго шукати відповідну властивість, коли він стане застосовувати даний фрагмент в своїй наступній програмі!

Перейдемо на вкладку програмного коду —  клікнемо правою кнопкою миші в межах форми та виберемо команді Перейти к коду (View Code), або натиснемо клавішу <F7>. Створимо програму відповідно до лістингу:

 Public Class Form1

    'Програма записує в мітку Label деякий текст, а користувачач за допомого кнопки робить його видимим,

    'а потім невидимим і т.д. При затримці вказівника миші над кнопкою з’являється

    'спливаюча підказка «Натисни мене» в новому стилі Balloon.

 

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

                           Handles Me.Load

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

        Me.Text = "Спливаюча підказка"

        Label1.Text = "Ну що б здавалося слова, " + vbCrLf + "слова та голос, більш нічого..."

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

        Label1.ForeColor = Color.Purple

        Label1.TextAlign = ContentAlignment.MiddleCenter

        Button1.Text = "Натисни мене"

        ToolTip1.SetToolTip(Button1, "Перемикач видимості " + vbCrLf + "текстового напису")

        ToolTip1.IsBalloon = True

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

 

    End Sub

 

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

                              Handles Button1.Click

        'Програмуємо подію натиснення кнопки

         Label1.Visible = Not Label1.Visible

         'Просто змінюємо значення властивості Visible на протилежне при кожному натиснені кнопки

    End Sub

End Class

 При обробці події завантаження форми властивості Text мітки задаємо деякий текст, «склеюємо» за допомогою знаку «плюс» (+) з окремих фрагментів. Використання в текстовій стрічці константи vbCrLf дозволяє перенесення тексту в нову стрічку (так званне переведення каретки). Те ж саме можна зробити за допомогою рядка Environment.NewLine. Властивість мітки TextAlign розташовує текст мітки по центру та посередині (MiddleCenter). Вираз, який містить ToolTip1, встановлює (Set) текст спливаючої підказки для кнопки Button1 при затримці над нею вказівника миші. 

По замовчуванню властивість IsBalloon перебуває в стані False, і при цьому використовується стандартне прямокутне вікно, установка  IsBalloon = True переводить підказку в стиль коміксів (стиль Balloon).

Порада

Як видно з прикладу, ми використали досить багато закоментованих стрічок програмного коду. Дуже зручно коментувати стрічки програмного коду в редакторі коду Visual Studio 10, спочатку виділяючи їх, а потім натискаючи комбінацію клавіш <Ctrl>+<K> |<C> (Comment). Щоб зняти з кількох стрічок знак коментаря, можна, аналогічно – спочатку їх виділити, а потім скористатися вже іншою комбінацією клавіш: <Ctrl>+<K> | <U> (Uncomment).