Розміщення на формі елементів керування (Controls)
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Ієрархія класів Control

Форма є контейнером, в якому розміщуються елементи керування (Controls) та компоненти.

Елементи керування — це компоненти, що забезпечують взаємодію між користувачем і програмою. Ці елементи розміщені в вікні Toolbox . Базовим класом є клас Control.

У вікні Toolbox елементи згруповані у групи за їх призначенням. Основні групи елементів:

Група командних об'єктів

Елементи Button, LinkLabel, ToolBar реагують на натискання кнопки миші і негайно запускають яку-небудь дію.

Група текстових об'єктів

Більшість застосунків надають можливість користувачу вводити текст і, у свою чергу, виводять різну інформацію у вигляді текстових записів. Елементи TextBox, RichTextBox приймають текст, а елементи Label, StatusBar виводять його. Для обробки введеного користувачем тексту, як правило, слід натискувати на один або декілька елементів з групи командних об'єктів.

Група перемикачів

До цієї групи входять об'єкти класів: ComboBox, ListBox, ListView, TreeView, NumericUpDown і інші.

Група контейнерів

Елементи-контейнери дозволяють групувати елементи. Як правило, елементи цієї групи розташовані на формі, служать підкладкою кнопкам, текстовим полям, спискам — тому вони і називаються контейнерами. Елементи Panel, GroupBox, TabControl, крім всього іншого, розділяють можливості застосунку на логічні групи, забезпечуючи зручність роботи.

Група графічних елементів

Для розміщення і відображення на формі графічних елементів (піктограм, зображень, заставок) використовуються елементи Image List, Picture Box.

PictureBox – об’єкт-контейнер для вставки зображень.

Діалогові вікна

Виконуючи різні операції з документом — відкриття, збереження, друк, попередній перегляд, — ми стикаємося з відповідними діалоговими вікнами. Класи OpenFileDialog, SaveFile Dialog, ColorDialog, PrintDialog містять вже готові операції для роботи з цими елементами.

Група меню

Містить елементи для створення різних типів меню: звичайного, панелі інструментів, контекстного меню.

На рис. 3.1. зображено ієрархію класів Control.

 

Рис. 1. Ієрархія класів Control

Заголовки (Label) і текстові поля (TextBox)

Клас Label (мітка) дозволяє виводити на форму текстову інформацію.

Клас TextBox походить безпосередньо від класу TextBoxBase, забезпечує загальними можливостями як TextBox, так і RichTextBox. Властивості, визначені в TextBoxBase. Основні властивості:

Таблиця 8. Основні властивості класу TextBoxBase

Властивість Призначення
Name Назва поля (ідентифікатор)
Text Текст
AutoSize Визначає, чи буде елемент управління автоматично змінювати розмір при зміні шрифту на ньому
BackColor, ForeColor Дозволяють отримати або встановити значення кольору фону і переднього плану
HideSelection Дозволяє отримати або встановити значення, визначальне, чи буде текст в TextBox залишатися виділеним після того, як цей елемент управління буде виведений з фокусу
MaxLength Визначає максимальну кількість символів, яка можна буде ввести в TextBox
Modified Дозволяє отримати або встановити значення, що визначає, чи був текст в TextBox змінений користувачем
Multiline Указує, чи може TextBox містити декілька рядків тексту
Readonly Позначає TextBox як доступний тільки для читання"
SelectedText, SelectionLength Містять виділений текст (або певну кількість символів) в TextBox
SelectionStart Дозволяє отримати початок виділеного тексту в TextBox
Wordwrap Визначає, чи буде текст в TextBox автоматично переноситися на новий рядок досягши граничної довжини рядка

 

В TextBoxBase визначено методи для роботи з буфером обміну (Cut, Copy і Paste), відміною введення (Undo) і іншими можливостями редагування (Clear, AppendText і т. п.).

З усіх подій, визначених в TextBoxBase, найбільший інтерес представляє подія TextChange. Ця подія відбувається при зміні тексту в об'єкті класу, похідному від TextBoxBase. Обробник події можна використовувати для перевірки допустимості символів, що вводяться користувачем (наприклад, припустимо, що користувач повинен вводити в полі тільки цифри або, навпаки, тільки букви).

Приклад 1. Обробник події KeyPress для поля txtDisc, в яке можно вводити тільки літери

 

  private void txtDisc_KeyPress(object sender, KeyPressEventArgs e)

   {

       if (char.IsDigit(e.KeyChar))

       {

           e.Handled = true;

           MessageBox.Show("Поле не може містити цифри");

       }

}

 

Призначення текстовому полю обробника події виконується у вікні Propery (Events) для події KeyPress.

Приклад 2.

Якщо поле може містити тільки цифри, то обробник може бути таким:

 

private void txtPIN_KeyPress(object sender, KeyPressEventArgs e)

{

if (!char.IsDigit(e.KeyChar) )

{

          e.Handled = true;

          lbloutput.Text ="Поле PIN повинно бути числовим";

}

 

}

 

Примітка

Подія KeyPress блокує частину клавіатури.

 

Крім властивостей, визначених в TextBoxBase, кожний похідний клас має власні властивості. В табл. 3.9 перелічені основні властивості класу TextBox.

Таблиця 9. Основні властивості класу TextBox

Властивість Призначення
AcceptsReturn Дозволяє визначити, що буде, коли користувач при введенні тексту натисне на Enter. Варіанту два: або в TextBox починається новий рядок тексту, або активізується кнопка за замовчанням на формі
CharacterCasing Дозволяє вибрати символ, який використовується для відображення даних, що вводяться користувачем (в полі для введення пароля)
ScrollBars Дозволяє отримати або встановити значення, яке визначає, чи будуть в TextBox з декількома рядками смуги прокрутки
TextAlign Дозволяє визначити вирівнювання тексту в TextBox  

Дата: 2019-02-25, просмотров: 246.