Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7777777777.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
80.44 Кб
Скачать

18/ Елементи інтерфейсу

Меню

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

При проектуванні меню слід керуватися певними принципами. Головний із них - стандарти. Рекомендується дотримуватися стандартних назв команд меню і їх розташування. Наприклад, пункт меню для роботи з файлами рекомендується називати в своїх додатках File (Файл), а пункт меню для виклику довідкової системи програми - Help (Довідка). При цьому пункт меню File (Файл) бажано розташовувати найпершим, а пункт Help (Довідка) - останнім.

У процесі розробки меню бажано групувати команди меню, що реалізують функції для вирішення конкретного завдання, в одне меню, що розкривається. Наприклад, всі команди меню, що стосуються роботи з таблицями, можна розташувати в меню Table (Таблиця).

Як зразок для створення власних додатків при розробці меню і інших елементів можна використовувати, наприклад, Microsoft Word.

Контекстне меню

Контекстне меню - це меню, пов'язане з деякою дією (зазвичай це клацання правої кнопки миші на об'єкті) і викликається в будь-якому місці програми. У початковому стані контекстне меню невидиме і візуалізується поруч з покажчиком миші після виклику. Контекстним таке меню називається тому, що воно з'являється поруч з обраним об'єктом і його склад залежить від вмісту (контексту) цього об'єкта. Після вибору команди з контекстного меню воно зникає. Проектується контекстне меню аналогічно головному за допомогою редактора меню Menu Editor (редактор меню).

Створюється контекстне меню аналогічно головному меню, але з однією відмінністю: оскільки головне меню одне на весь додаток, а контекстне меню - своє для кожного об'єкту, то нам доведеться крім усього іншого прив'язувати кожне контекстне меню до свого об'єкту. Приступимо.

Помістимо на форму кнопку і зробимо два контекстні меню: одне для форми, інше - для кнопки.

У контекстне меню для форми включимо два пункти:

  • Пофарбувати форму в синій колір

  • Пофарбувати форму в червоний колір

У контекстне меню для кнопки включимо два пункти:

  • Розширити кнопку

  • Звузити кнопку

При клацанні правою клавішею миші по поверхні форми повинне з'являтися одне меню, по кнопці – інше.

Створюємо контекстні меню. Помістимо на форму елемент управління ContextMenu. Він розташується під формою під ім'ям ContextMenu1. Це буде наше контекстне меню для форми. Аналогічно розмістимо ContextMenu2. Це буде контекстне меню для кнопки.

Клацнемо по елементу ContextMenu1. На формі з'явиться область, яку ми заповнимо пунктами про синій і червоний кольори, як це робили з Головним меню. Клацнемо по елементу ContextMenu2 і аналогічно заповнимо область про розширення і звуження.

Прив'язуємо контекстні меню. Меню готові. Тепер потрібно якось сказати комп'ютеру, що ContextMenu1 відноситься до форми, а ContextMenu2 – до кнопки. Зайдемо у вікно властивостей форми і встановимо властивості ContextMenu значення ContextMenu1. Зайдемо у вікно властивостей кнопки і встановимо властивості ContextMenu значення ContextMenu2.

Примушуємо контекстні меню працювати. Робимо це аналогічно головному меню. Подвійне клацання по пункту меню - і у вікні коду з'являється заготівка процедури, куди ми пишемо все, що нам потрібне. Ось що у вас повинно вийти:

Private Sub MenuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem1.Click

Me.BackColor = Color.Blue 'Контекстне меню форми - Пофарбувати її в синій колір

End Sub

Private Sub MenuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem2.Click

Me.BackColor = Color.Red 'Контекстне меню форми - Пофарбувати її в червоний колір

End Sub

Private Sub MenuItem3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem3.Click

Button1.Width = Button1.Width + 20 'Контекстне меню кнопки - Розширити її

End Sub

Private Sub MenuItem4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem4.Click

Button1.Width = Button1.Width - 20 'Контекстне меню кнопки - Свузити її

End Sub