Компонент Label. Програмне створення елементу управління Label. Клас MessageBox. Зчислення DialogResult
Зміст
- 1. Компонент Label. Властивості компоненту Label
- 2. Події компоненту Label
- 3. Програмне створення елементу управління Label. Приклад
- 4. Клас MessageBox. Призначення. Приклад
- Споріднені теми
Пошук на інших ресурсах:
1. Компонент Label. Властивості компоненту Label
Компонент типу Label представляє собою статичний текст на екрані монітора. На рисунку 1 зображено розміщення компонента Label на панелі елементів у системі Microsoft Visual Studio 2022.
Рисунок 1. Компонент Label. Размещение компонента Label на форме
Основні властивості компонента Label наведені нижче.
Властивість |
Опис |
Name | Назва екземпляру (об’єкту) типу Label |
Anchor | Визначає краї контейнера, до якого прив’язаний визначений елемент управління. Коли елемент управління прив’язаний до краю, відстань між найближчим краєм елементу управління та вказаним краєм буде залишатись постійною. |
AutoEllipsis | Якщо AutoEllipsis = True, то включається автоматична обробка тексту, який виходить за межі ширини мітки (рисунок 2). Дана властивість діє тільки, якщо властивість AutoSize = False.
Рисунок 2. Вплив властивості AutoEllipsis на вигляд тексту “Hello world!”: a) AutoEllipsis = True; b) AutoEllipsis = False |
AutoSize | Якщо AutoSize=True, то ширина компоненту типу Label автоматично змінюється в залежності від розміру шрифта (рисунок 3). Якщо AutoSize=False, то можна задавати фіксовані розміри меж елементу Label, в які буде вписуватись текст.
Рисунок 3. Вплив властивості AutoSize на вигляд тексту “Hello world”: a) AutoSize = True; b) AutoSize = False |
BackColor | Колір фону області, в якій відображається елемент управління типу Label |
BorderStyle | Вигляд межі прямокутної області елементу управління Label |
ContextMenuStrip | Властивість, що містить посилання на контекстне меню, яке викликається при натиску правої кнопки мишки в області елементу управління Label. Для того щоб використовувати контекстне меню, це меню має бути попередньо сформоване. Для формування контекстного меню використовується елемент управління ContextMenuStrip |
Cursor | Визначає вигляд курсору мишки коли покажчик мишки знаходиться в області вікна елементу управління Label |
Dock | Визначає, які межі елементу управління є зв’язані з контейнером. |
Enabled | Визначає, чи елемент управління є заблокований. Якщо Enabled = True, то елемент управління не є заблокований, наприклад може реагувати на кліки мишкою. |
Font | Вигляд шрифту тексту (розмір, параметри тексту) |
ForeColor | Колір переднього плану компонента – це є колір тексту, який відображається |
GenerateMember | Якщо GenerateMember=True, то генерується змінна для цього компонента. Ім’я змінної встановлюється в значення, яке визначене в полі Name. Ця опція необхідна, коли елемент управління типу Label використовується у програмному коді для виведення інформації що формується динамічно. Якщо елемент управління Label використовується тільки для відображення незмінюваного тексту, то доцільно встановити GenerateMember=False для того щоб зекономити пам’ять. Щоб переглянути результат дії цієї властивості, потрібно перейти у частину Form1.Designer.cs класу форми, в якій відображаються усі елементи управління форми. |
Image | Посилання на зображення, яке може бути встановлене цьому елементу управління. Зображення відображається за текстом. |
Location | Координата (X, Y) верхнього-лівого кута елементу управління |
Locked | Якщо Locked=True, то неможливо змінювати позицію та розмір елементу управління на формі (позиція блокується) під час проектування. |
MaximumSize | Задає максимально можливий розмір (Width, Height) елементу управління. Якщо значення MaximumSize=(0, 0), то елемент управління може приймати довільний розмір |
MinimumSize | Задає мінімально можливий розмір (Width, Height) елементу управління. Якщо значення MinimumSize=(0, 0), то елемент управління може приймати довільний розмір |
Modifiers | Задає модифікатор доступу для змінної (екземпляру) типу Label, при умові що GenerateMember=True |
Size | Розмір елементу в пікселях |
TabIndex | Порядковий номер в позиціях табуляції, що змінюються з допомогою клавіші TAB |
Text | Текст, що асоціюється з елементом управління |
TextAlign | Задає позицію тексту в межах області, яка призначена для відображення елементу управління Label. Дана опція має сенс якщо AutoSize=false |
UseWaitCursor | Якщо UseWaitCursor=True, то властивість Cursor=WaitCursor |
Visible | Якщо Visible=False, то елемент управління невидимий на формі |
⇑
2. Події компоненту Label
Події, на які реагує компонент Label, описуються в наступній таблиці:
Подія | Опис |
Click | Клік з допомогою мишки на елементі управління Label |
DoubleClick | Подвійний клік мишкою на елементі управління Label |
MouseClick | Клік з допомогою мишки на елементі управління Label. На відміну від події Click дозволяє отримати більш повну інформацію про клік: яка клавіша мишки натиснута, координата (x, y) натиску та інше. Вся інформація отримується з класу MouseEventArgs |
MouseDoubleClick | Подвійний клік мишкою на елементі. Порівняно з DoubleClick додає екземпляр класу MouseEventArgs, який містить усю необхідну інформацію про зроблений клік (координату (x, y), яка клавіша натиснута і т.д.). |
Paint | Використовується для рисування графіки в області елементу управління |
⇑
3. Програмне створення елементу управління Label. Приклад
На формі потрібно розмістити кнопку, наприклад button1 і в обробнику Click цієї кнопки набрати наступний текст:
... private void button1_Click(object sender, EventArgs e) { // Програмне створення елементу управління типу Label // 1. Оголосити екземпляр типу Label Label myLabel = new Label(); // 2. Встановити батьківський клас, // у нашому випадку батьківський клас - це Form. // Властивість Parent має тип Control myLabel.Parent = this.Parent; // 3. Встановити текст мітки myLabel.Text = "Hello!"; // 4. Встановити розміщення на формі в точці (10, 80) myLabel.Location = new Point(10, 80); // 5. Властивість AutoSize myLabel.AutoSize = true; // 6. Задати ім'я екземпляру myLabel.Name = "myLabel"; // 7. Додати у властивість Controls класу Form. // Цю властивість клас Form успадковує від класу Control. // Тип властивості Controls - ControlCollection, // тобто клас ControlCollection визначений у класі Control. // Властивість Controls - це набір дочірніх елементів управління. this.Controls.Add(myLabel); } ...
Після запуску програми та натиску на кнопці з’явиться мітка Label.
⇑
4. Клас MessageBox. Призначення. Приклад
Статичний клас MessageBox представляє діалогову вікно, в якому можна виводити інформацію (Рисунок 4). Основним методом класу, що виводить діалогове вікно, є метод Show() який має багато перевантажених реалізацій.
Рисунок 4. Вікно, що відкривається у результаті виклику методу Show() класу MessageBox (один з випадків)
Використання класу є ефективним, коли потрібно виводити швидкі повідомлення “на льоту” з базовим набором стандартних кнопок та їх швидкою обробкою. Таким чином, зникає потреба у створенні зайвих дрібних діалогових форм, які ускладнюють сприйняття структури всього проекту.
Для демонстрації використання класу MessageBox потрібно розмістити кнопку на формі (наприклад button2) і запрограмувати обробник події кліку на цій кнопці.
... private void button2_Click(object sender, EventArgs e) { // Клас MessageBox - представляє діалогове вікно, в якому // виводяться поширені повідомлення з підтвердженням // відповіді, наприклад, Ok, No і т.д. // 1. Виклик простого вікна з текстом MessageBox.Show("This is a message"); // 2. Виклик ще одного вікна з заголовком MessageBox.Show("This is a message", "This is a caption"); // 3. Виклик вікна з кнопками Yes, No, Cancel // 3.1. Створити кнопки Yes, No, Cancel MessageBoxButtons mbb; mbb = MessageBoxButtons.YesNoCancel; // 3.2. Вивести вікно і перевірити відповідь користувача DialogResult dr; dr = MessageBox.Show("This is YesNoCancel message.", "Title", mbb); if (dr == DialogResult.Yes) MessageBox.Show("Your choice: Yes"); else if (dr == DialogResult.No) MessageBox.Show("Your choice: No"); else MessageBox.Show("Your choice: Cancel"); // 3.3. Вивести вікно з заголовком і перевірити відповідь - інший варіант mbb = MessageBoxButtons.OKCancel; dr = MessageBox.Show("Please, select OK or Cancel", "OK-Cancel window", mbb); if (dr == DialogResult.OK) MessageBox.Show("You select OK"); else MessageBox.Show("You select Cancel"); } ...
Як видно з вищенаведеного прикладу, робота методів класу MessageBox поєднується з використанням зчислення DialogResult. У цьому зчисленні оголошуються константи, що відповідають кодам базових стандартних кнопок, які використовуються в інтерфейсі Windows. Наприклад, описуються кнопки Ok, Cancel, Yes та інші.
⇑
Споріднені теми
⇑