Кнопка (Button)

Важливу роль в формі відіграє об'єкт, названий елементом управління Button (Кнопка управління). За допомогою клацання мишею на кнопці можна задати виконання якої-небудь дії.

 

Рис.1. Кнопка (Button) на панелі Toolbar

Напис, що розміщується на кнопці, задається властивістю Text. Якщо довжина напису більше ширини кнопки, автоматично здійснюється перенесення напису на наступний рядок. У разі якщо розмір кнопки не дозволяє помістити весь напис, частина напису відкидається. Для задання вирівнювання тексту на кнопці призначена властивість TextAlign, яка приймає одне зі  значень вирівнювання як і для мітки (Label). За замовчуванням текст на кнопці розташовується по центру.

Кнопки, що розміщуються в формі, служать для виконання певної процедури, пов'язаної з обробкою події Click. Це може бути, наприклад, друк даних або проведення певних обчислень. Після того як кнопка розміщена в формі і заданий напис на ній, необхідно визначити дії, що виконуються при натисканні цієї кнопки. Для цього двічі клацніть на кнопці і у вікні, редактора коду в процедуру обробки події натискання кнопки додайте необхідний код.

Розглянемо властивості, що характеризують елемент управління Button.

Клавіші швидкого доступу

Для кнопки можна задати клавіші швидкого доступу, що вельми зручно користувачам, при роботі з формою в основному з клавіатури. В цьому випадку для натискання кнопки, розміщеної у формі, досить буде натиснути комбінацію клавіш <Alt> + <підкреслений символ в написі на кнопці>. Щоб задати клавішу швидкого доступу, необхідно при введенні назви кнопки в полі властивості Text перед відповідною буквою найменування кнопки розташувати амперсанд (&). У найменуванні кнопки ця буква буде виділена підкресленням.

Примітка

Для використання символу амперсанда в найменуванні кнопки, щоб він не інтерпретувався як призначення клавіші швидкого доступу, необхідно задати для властивості UseMnemonic значення False.

Кнопка за замовчуванням і кнопка скасування

Одну з кнопок, що розміщуються в формі, можна зробити кнопкою за замовчуванням, тобто поміщувати на неї фокус при відкритті форми. Для цього використовується властивість AcceptButton форми, що вказує кнопку, яку потрібно натискати за замовчуванням при натисканні клавіші <Enter>. Для задання кнопки за замовчуванням необхідно присвоїти ім'я цієї кнопки властивості AcceptButton форми.

За допомогою властивості CancelButton форми можна задати кнопку скасування. Для натискання такої кнопки буде досить натиснути клавішу <Esc>.

Стиль оформлення кнопки

Для управління зовнішнім виглядом кнопки призначена властивість FlatStyle. Вона може приймати одне із значень, зазначених в таблиці 1.

Таблиця 1. Значення властивості FlatStyle

 Значення Опис 
 Flat  Елемент управління має плоский вид
 Popup  Вид елемента управління залежить від розташування покажчика миші. Якщо покажчик розташовується на елементі, він має об'ємний вигляд, інакше плоский
 Standard  Елемент управління має об'ємний вигляд. Це значення задається за замовчуванням
 System  Вид елемента управління визначається операційною системою користувача. При цьому значенні не можна розташувати зображення на елементі, а також задати вирівнювання його тексту

У разі використання плоских кнопок для задання їх зовнішнього вигляду використовується властивість FlatAppearance, яка в свою чергу характеризується властивостями з таблиці 2.

Таблиця 2. Властивості, що визначають зовнішній вигляд плоскої кнопки

 Властивість Опис 
 BorderColor  Визначає колір рамки
 BorderSize  Визначає ширину рамки
 MouseDownBackColor  Визначає колір кнопки в натиснутому стані
 MouseOverBackColor  Визначає колір кнопки, коли курсор розташовується над нею

Розміщення зображення на кнопці

Для розміщення графічного зображення на кнопці необхідно скористатися властивістю Image. Для цього виберіть властивість і натисніть розташовану праворуч кнопку з трьома крапками. В результаті відкриється діалогове вікно Select Resource (Вибрати ресурс), використовуючи яке можна вибрати файл на диску, що містить зображення.

Якщо на кількох елементах управління форми розташовуються зображення, то зручніше застосовувати властивості ImageList і ImageIndex. Як об'єкт для зберігання списку графічних зображень служить елемент управління ImageList. Для його розміщення на формі виконайте наступні дії:

  1. Перетягніть на форму елемент управління ImageList.
  2. Задайте ім'я створеному об'єкту.
  3. Виберіть властивість Images цього елемента. Відкриється діалогове вікно Image Collection Editor (Редактор зображень).
  4. За допомогою кнопок Add (Додати) і Remove (Видалити) вікна створіть список зображень. При натисканні кнопки Add (Додати) відкривається діалогове вікно Відкрити, за допомогою якого можна вибрати будь-яке зображення, яке зберігається на диску.

Для зв'язування зображення з кнопкою потрібно спочатку присвоїти ім'я створеного елемента управління ImageList властивості ImageList панелі інструментів. Потім поставити значення для властивості ImageIndex кнопки, вибравши зі списку одне з зображень які додавалися до елемента управління ImageList .

У разі розташування на кнопці одночасно тексту і зображення для визначення способу їх відображення використовується властивість TextImageRelation, яка може набувати значень, що зазначені в таблиці 3.

Таблиця 3. Значення властивості TextImageRelation

 Властивість Опис
 Overlay  Відбувається накладення тексту на зображення
 ImageAboveText  Зображення розташовується над текстом
 TextAboveImage  Зображення розташовується під текстом
 ImageBeforeText  Зображення і текст розташовуються один за одним зліва направо відповідно
 TextBeforeImage  Зображення і текст розташовуються один за одним справа наліво відповідно

Способи вибору кнопки управління

Існує кілька способів вибору розміщеної у формі кнопки управління при виконанні програми. Найбільш очевидний - це клацнути її кнопкою миші. Другий спосіб полягає в наступному: переміщаючи фокус між елементами управління форми натисканням клавіші <Tab>, встановити його на кнопку управління і потім натиснути клавішу <Enter> або <Spacebar> (<Пропуск>).

Крім цього, існують ще три способи вибору кнопки управління, що задаються при створенні кнопки:

  • Клавіша швидкого доступу. Для вибору кнопки необхідно натиснути комбінацію клавіш <Alt> + <підкреслений символ в написі на кнопці>;
  • Клавіша <Enter>, якщо для властивості AcceptButton форми встановлено ім'я даної кнопки, тобто кнопка оголошена кнопкою за замовчуванням;
  • Клавіша <Esc>, якщо для властивості CancelButton форми встановлено ім'я даної кнопки, тобто кнопка оголошена кнопкою скасування.

Розглянемо невеликий приклад визначення процедури, пов'язаної з обробкою події Click. Розмістимо в формі мітку і дві кнопки, натискання однієї буде змінювати напис міики, а натискання другої - здійснювати закриття програми:

1. Створіть новий Windows-додаток.

2. Розмістіть на формі мітку, перетягнувши елемент керування Label, і дайте йому ім'я label.

3. Додайте в формі дві кнопки управління, використовуючи для цього елемент управління Button. Властивостям Text кнопок надайте значення Змінити і Вихід.

4. Щоб задати процедуру обробки події Click, двічі клацніть на кнопці Змінити. Відкриється вікно редактора коду зі створеної процедурою обробки події натискання кнопки. Додайте в тіло процедури наступний код:

        If lbl.Text = "Всім привіт!" Then

            lbl.Text = "На все добре!"

        Else

            lbl.Text = "Всім привіт!"

        End If

5. Аналогічним чином створіть процедуру обробки події Click для кнопки Вихід і додайте в тіло процедури наступний рядок:

        Application.Exit()

Запустіть форму на виконання (рис. 2). 

Рис.2. Задання обробки події натискання кнопки