<
  • Главная
Статьи

НОУ ІНТУЇТ | лекція | Створення елементів управління

  1. Загальні відомості
  2. Елемент управління TextBox
  3. клас Button
  4. прапорці

Мета роботи: Вивчити основні елементи управління Windows-форми, їх властивості та методи, а також отримати практичні навички в розробці Windows-форми з елементами контролю

Загальні відомості

Класи, що представляють графічні елементи управління, знаходяться в просторі імен System.Windows.Forms. З їх допомогою забезпечується реакція на дії користувача в додатку Windows Forms. Класи елементів управління пов'язані між собою досить складними відносинами спадкування. Загальна схема таких відносин представлена ​​на малюнку 7.1 .

Клас Control, як загальний предок, забезпечує всі похідні класи загальним набором найважливіших можливостей. У числі цих можливостей можна перерахувати події миші і клавіатури, фізичні розміри і місцезнаходження елемента управління (властивості Height, Width, Left, Right, Location), установку кольору фону і кольору переднього плану, вибір шрифту і т.п.

При створенні програми можна додати елементи управління на форму за допомогою графічних засобів Visual Studio. Зазвичай достатньо вибрати потрібний елемент управління у вікні ToolBox і помістити його на формі. Visual Studio автоматично згенерує потрібний код для форми. Після цього можна змінити назву елемента управління на більш змістовне (наприклад, замість button1, пропонованого за замовчуванням, - buttonPrimer) Visual Studio дозволяє не тільки розміщувати на формі елементи управління, але і налаштовувати їх властивості. Для цього досить клацнути на елементі управління правою кнопкою миші і в контекстному меню вибрати Properties (Властивості).

Всі зміни, які необхідно зробити у вікні ( малюнок 7.2 ), Будуть додані в код методу InitializeComponents ().


Мал.7.2.

Налаштування елементів управління коштами Visual Studio

Те ж саме вікно дозволяє налаштувати не тільки властивості даного елемента управління, а й обробку подій цього елемента. Перейти до списку подій можна за допомогою кнопки Те ж саме вікно дозволяє налаштувати не тільки властивості даного елемента управління, а й обробку подій цього елемента в закладці Properties ( малюнок 7.3 ). Можна вибрати в списку потрібну подію і поруч з ним зробити подвійне клацання або ввести ім'я методу або вибрати метод зі списку.


Мал.7.3.

Налаштування обробників подій

Після завдання імені методу або двічі клацнувши Visual Studio згенерує заготовку для обробника події.

Розглянемо основні елементи управління Windows-форми.

Елемент управління TextBox

Елемент управління TextBox (текстове вікно) призначений для зберігання тексту (однієї або декількох рядків). При бажанні текст в TextBox може бути налаштований як "тільки для читання", а в правій і нижній частині можна помістити смуги прокрутки.

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

Таблиця 7.1. Властивості TextBoxBase Властивість Призначення AcceptsTab Визначає, що буде проводитися при натисканні на клавішу Tab: вставка символу табуляції в саме поле або перехід до іншого елементу управління 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. Наприклад, його можна використовувати для перевірки допустимості вводяться користувачем символів (наприклад, припустимо, що користувач повинен вводити в поле тільки цифри або, навпаки, тільки букви).

Властивості, успадковані від Control і від TextBoxBase, визначають більшу частину можливостей TextBox. Властивостей, певних безпосередньо в класі TextBox, не так вже й багато. Вони представлені в таблиці 7.2 .

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

Значення перерахування HorizontalAlignment представлені в таблиці 7.3 .

Таблиця 7.3. Значення перерахування HorizontalAlignment Значення Опис Center Вирівнювання по центру Left Вирівнювання по лівому краю Right Вирівнювання по правому краю

клас Button

Кнопка (button) - це найпростіший з усіх елементів управління і при цьому найбільш часто використовуваний. Можна сказати, що кнопка - це можливість прийняти введення (клацання кнопкою миші або набір на клавіатурі) найбільш простим способом. Безпосередній предок класу System.Windows.FormButton в ієрархії класів .NET - це клас ButtonBase, що забезпечує загальні можливості для цілої групи похідних від нього елементів управління (таких як Button, CheckBox і RadioButton). Деякі властивості ButtonBase представлені в таблиці 7.4 .

Таблиця 7.4. Властивості ButtonBase Властивість Призначення FlatStyle Дозволяє налаштувати "рельєфність" кнопки. Використовуються значення з перерахування FlatStyle Image Дозволяє задати зображення, яке буде виводитися на кнопці (при цьому можна вказати точне місцезнаходження зображення). Фоновий малюнок краще налаштовувати за допомогою властивості BackgroundImage, визначеного в базовому класі Control ImageAlign Дозволяє визначити вирівнювання зображення, розміщеного на кнопці. Використовуються значення з перерахування ContentAlignment Imagelndex, ImageList Ці властивості використовуються для роботи з набором зображень (об'єктом ImageList), виведених на кнопці IsDefault Визначає, чи буде ця кнопка бути кнопкою за замовчуванням (тобто спрацьовувати при натисканні на Enter) TextAlign Дозволяє отримати або встановити вирівнювання тексту на кнопці. Також використовуються значення з перерахування ContentAlignment

Сам клас Button не визначає будь-яких додаткових можливостей крім успадкованих від ButtonBase, за єдиним, але істотним винятком властивості DialogResult. Це властивість дозволяє повертати значення при закритті діалогового вікна, наприклад, при натисканні кнопок ОК або Cancel (Скасувати).

У переважній більшості випадків вирівнювання тексту, розміщеного на кнопці, проводиться по центру, так що текст буде розміщений строго посередині кнопки. Однак якщо нам з якихось причин необхідно використовувати інший стиль вирівнювання, в нашому розпорядженні - властивість TextAlign, певне в класі ButtonBase. Для TextAlign використовуються значення з перерахування ContentAlignment ( таблиця 7.5 ). Значення з того ж перерахування використовуються і для визначення положення зображення на кнопці.

Таблиця 7.5. Значення перерахування ContentAlignment Значення Опис (вирівнювання) BottomCenter По нижньому краю кнопки, щодо бічних країв - посередині BottomLeft Але нижньому краю кнопки, зліва BottomRight По нижньому краю кнопки, праворуч MiddleCenter По центру кнопки MiddleLeft Щодо верхнього і нижнього країв - по центру, щодо бічних країв - зліва MiddleRight щодо верхнього і нижнього країв - по центру, щодо бічних країв - справа TopCenter по верхньому краю кнопки, щодо бічних країв - посередині TopLeft по верхньому краю кнопки, зліва TopRight по верхньому краю до опкі, праворуч

прапорці

Для прапорця (тип CheckBox) передбачено три можливих стану. Як і тип Button, CheckBox успадковує велику частину своїх можливостей від базових класів Control і ButtonBase. Однак в цьому класі існують і свої власні члени, що забезпечують додаткові унікальні можливості. Найбільш важливі властивості CheckBox представлені в таблиці 7.6 .

Таблиця 7.6. Властивості класу CheckBox Властивість Призначення Appearance Налаштовує вид прапорця. Для цього властивості використовуються значення з перерахування Appearance AutoCheck Дозволяє отримати або встановити значення, що визначає, чи будуть значення Checked і CheckState, а також зовнішній вигляд прапорця автоматично змінюватися при натисканні на ньому CheckAlign Дозволяє встановити горизонтальне і вертикальне вирівнювання власне прапорця (квадратика) в елементі управління CheckBox. Використовуються значення з перерахування ContentAlignment Checked Повертає значення типу bool, що представляє поточний стан прапорця (обраний або не вибрано) Якщо для властивості ThreeState встановлено значення true, то властивість Checked буде повертати true як для явно обраного прапорця, так і для того прапорця, для якого встановлено значення "не визначено" (indeterminate) CheckState Дозволяє отримати або встановити значення прапорця (встановлений - не встановлено - невизначене), використовуючи не true і false, як в Checked, а три значення з перерахування CheckState. Зазвичай використовується, якщо властивість ThreeState для прапорця має значення true (тобто він допускає три значення). ThreeState Визначає, чи будуть для прапорця використовуватися три значення (з перерахування CheckState) або тільки два

Можливі стану прапорця (Indeterminate можна використовувати тільки тоді, коли для властивості ThreeState встановлено значення true) представлені в таблиці 7.7 .

Таблиця 7.7. Значення перерахування CheckState Значення Опис Checked Прапорець встановлений Indeterminate Значення не визначене (зазвичай прапорець виглядає як "сірий", затінений) Unchecked Прапорець знятий

Стан "значення не визначене" (indeterminate) може бути встановлено, наприклад, для верхнього елементу ієрархії, в якій для однієї частини підлеглих елементів прапорець встановлений, а для іншого - знятий.



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью