69084

Клас BUTTONBASE і його нащадки: Кнопки, прапорці та перемикачі

Лекция

Информатика, кибернетика и программирование

Клас ButtonBase в ієрархії класів .NET забезпечує загальні можливості для групи похідних від нього класів: Button, CheckBox і RadioButton. Деякі властивості класу ButtonBase описані в табл.4.1. Крім спільних властивостей кожний з класів має власні властивості.

Украинкский

2014-09-29

45.41 KB

1 чел.

6

Лекція 4. Клас BUTTONBASE і його нащадки: Кнопки, прапорці та перемикачі  

План

4.1. Клас ButtonBase і його основні властивості

4.2. Елемент кнопка. Клас Button

4.3. Елемент прапорець - клас CheckBox

4.4. Елемент перемикач – клас RadioButton

4.5. Активація і деактивація елементів

4.6. Приховування елементів

4.7. Динамічне створення елементів

4.1. Клас ButtonBase і його основні властивості

Клас ButtonBase в ієрархії класів .NET забезпечує загальні можливості для групи похідних від нього класів: Button, CheckBox і RadioButton. Деякі властивості класу ButtonBase описані в табл.4.1. Крім спільних властивостей кожний з класів має власні властивості.

Таблиця 4.1. Властивості класу ButtonBase

Властивість

Призначення

FlatStyle

Дозволяє налаштувати "рельєфність" кнопки. Використовуються значення з переліку можливих значень властивості FlatStyle

Image

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

ImageAlign

Дозволяє визначити вирівнювання зображення, розміщеного на кнопці. Використовуються значення з переліку можливих значень властивості ContentAlignment

Imagelndex, ImageList

Ці властивості використовуються для роботи з набором зображень (об'єктом ImageList), що виводяться на кнопці

IsDefault

Визначає, чи буде ця кнопка кнопкою за замовчанням (тобто спрацьовувати при натисненні на Enter)

TextAlign

Дозволяє отримати або встановити вирівнювання тексту на кнопці.

4.2. Елемент Кнопка. Клас Button

Кнопка (button) - це найпростіший і найбільш застосовний з усіх елементів керування. Дозволяє організувати керування формою. Основні властивості класу наслідуються від ButtonBase і Control.

Найбільш використовувана подія кнопки - Click, яка виникає при натисненні на кнопку лівою кнопкою миші. Наприклад, для того, щоб закрити форму при натисненні на кнопку Завершити, в  обробнику кнопки викликаємо метод Close()?

 private void btmClose_Click(object sender, EventArgs e)

       {

         Close();

       }

Якщо рішення містить декілька форм, то для завершення роботи в обробнику кнопки викликаємо метод Application.Exit().

 private void btmClose_Click(object sender, EventArgs e)

       {

           Application.Exit();

       }

4.3. Елемент Прапорець (клас CheckBox).

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

Таблиця 4.2. Основні властивості класу 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) або тільки два

Enabled

Повертає або задає значення, що визначає, чи активний елемент. Можливі значення: активний – true, інакше -false

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

Таблиця 4.3. Можливі стани прапорця

Checked

Прапорець встановлений

Indeterminate

Значення не визначено (звичайно прапорець виглядає як "сірий", затіняє)

Unchecked

Прапорець знятий

4.4. Елемент Перемикач (Клас RadioButton)

Клас RadioButton (перемикач) можна сприймати, як видозмінений прапорець, при цьому схожість між цими типами підкреслюється майже повним збігом наборів членів. Між типами RadioButton і CheckBox існують лише дві важливі відмінності: в RadioButton передбачено подію CheckedChanged (яка виникає при зміні значення Checked), а крім того, RadioButton не підтримує властивість ThreeState і не може приймати стан Indeterminate (не визначено).

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

Властивість

Призначення

Text

Дозволяє отримати або встановити текст, який розміщений на перемикачі

AutoCheck

Дозволяє отримати або встановити значення, яке визначає, чи будуть значення Checked і CheckState, а також зовнішній вигляд перемикача автоматично змінюватися при клацанні на ньому

TextAlign

Дозволяє встановити горизонтальне і вертикальне вирівнювання тексту на перемикачі

Checked

Повертає значення типу bool, що представляє поточний стан перемикаяа (вибраний або не вибраний). Якщо перемикач включений, значення Checked = true, інакше - false.

CheckState

Дозволяє отримати або встановити значення прапорця (встановлений - не встановлений - не визначено), використовуючи не true і false, як в Checked, а три значення з переліку CheckState. Звичайно використовується, якщо властивість ThreeState для прапорця має значення true (тобто він допускає три значення).

Enabled

Повертає або задає значення, що визначає, чи активний елемент. Можливі значення: активний – true, інакше -false.

Приклад 4.1.

private void ClickMyRadioButton()

{

  if (radioButton2.Checked)

  {

     radioButton1.PerformClick();

  }

}

При виборі перемикача генерується подія CheckedChanged:

private void radioButton1_CheckedChanged(object sender, EventArgs e)

       {

      

        }

Перемикачі завжди використовуються в групах, які розглядаються як єдине ціле. Усередині групи перемикачів одночасно може бути вибраний тільки один перемикач. Для угрупування перемикачів в групи використовується тип GroupBox.

І прапорець (CheckBox), і перемикач (RadioButton) підтримують властивість Checked, за допомогою якої зручно одержувати інформацію про стан відповідно прапорця і перемикача. Проте якщо є необхідність задіювати додатковий третій стан прапорця (не визначено - Indeterminate), то доведеться замість Checked використовувати властивість CheckState і значення з однойменного переліку CheckState.

Властивість Checked частіше за все використовується в коді.

4.5. Активація і деактивація елементів

Використання властивості Enabled дозволяє зробити елемент активним чи неактивним. Використовується частіше для динамічної зміни стану в коді.

4.6. Приховування елементів

Властивість елемента Visible дозволяє приховати чи зробити видимим елемент на формі. Значення Visible=true робить елемент видимим, Visible=false приховує елемент.

4.7. Динамічне створення елементів в коді

Створити елемент і налаштувати його властивості можна як в режимі дизайнера (статично), так і в самому коді форми (динамічно).

Приклад 4.2.

Створення групи з елементами RadioButton

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Lab3

{

   public partial class Form1 : Form

   {

       private GroupBox groupBox1;

       private RadioButton radioButton2;

       private RadioButton radioButton1;

       public Form1()

       {

           InitializeComponent();

       }

       public void InitializeRadioButtons()

       {

           this.groupBox1 = new System.Windows.Forms.GroupBox();

           this.radioButton2 = new System.Windows.Forms.RadioButton();

           this.radioButton1 = new System.Windows.Forms.RadioButton();

           this.groupBox1.Controls.Add(this.radioButton2);

           this.groupBox1.Controls.Add(this.radioButton1);

           this.groupBox1.Location = new System.Drawing.Point(80, 75);

           this.groupBox1.Size = new System.Drawing.Size(200, 100);

           this.groupBox1.Text = "Radio Buttons";

           this.radioButton2.Location = new System.Drawing.Point(31, 53);

           this.radioButton2.Size = new System.Drawing.Size(67, 17);

           this.radioButton2.Text = "Choice 2";

           this.radioButton1.Location = new System.Drawing.Point(31, 20);

           this.radioButton1.Name = "radioButton1";

           this.radioButton1.Size = new System.Drawing.Size(67, 17);

           this.radioButton1.Text = "Choice 1";

           this.ClientSize = new System.Drawing.Size(292, 266);

           this.Controls.Add(this.groupBox1);

       }

       private void Form1_Load(object sender, EventArgs e)

       {

           InitializeRadioButtons();

       }

   }

}

Приклад 4.3.

Створення елементу CheckBox

     public void InstantiateMyCheckBox()

       {

           // Create and initialize a CheckBox.   

           CheckBox checkBox1 = new CheckBox();

           // Make the check box control appear as a toggle button.

           checkBox1.Appearance = Appearance.Button;

           // Turn off the update of the display on the click of the control.

           checkBox1.AutoCheck = false;

           // Add the check box control to the form.

           Controls.Add(checkBox1);

           checkBox1.Text = "Прапорець";

 }

Висновки

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

Контрольні запитання і завдання

1. Яка властивість встановлює чи вимикає прапорець, в залежності від поточного значення?

2. Яке призначення властивості CheckState?

3. Яке призначення властивості Checked?

4. Яке призначення властивості Enabled?

5. Яке призначення властивості Visible і чим вона відрізняється від Enabled?

6. Що означає оператор new у виразі: 

  CheckBox checkBox1 = new CheckBox();

7. Що означають наступні команди?

          Controls.Add(checkBox1);

           checkBox1.Text = "Прапорець";

8. Що означають наступні команди?

       private GroupBox groupBox1;

       private RadioButton radioButton2;

       private RadioButton radioButton1;

9. Чи можна прапорець, який створений в режимі дизайна форми і видимий при її завантаженні, приховати. Якщо так, то як це можна зробити?

10. Яку властивість прапорця краще використовувати для зміни стану: Visible чи  Enabled?


 

А также другие работы, которые могут Вас заинтересовать

65286. Підвищення продуктивності роботи тягодуттьового обладнання котельних установок на основі нових критеріїв проектування 164 KB
  Відповідно до поставленої мети сформульовані наступні задачі: проаналізувати існуючі способи підвищення продуктивності роботи тягодуттьових машин і аеродинамічних систем; провести дослідження впливу неактивних зон у типових елементах...
65287. ФОРМУВАННЯ МОДИФІКОВАНИХ ШАРІВ З УЛЬТРАДИСПЕРСНОЮ ЛИТОЮ СТРУКТУРОЮ В ІНСТРУМЕНТАЛЬНИХ СТАЛЯХ ПОВЕРХНЕВОЮ ПЛАЗМОВОЮ ОБРОБКОЮ 1.26 MB
  Проте останнім часом все більша увага дослідників приділяється розробці нових технологій поверхневої модифікації з отриманням шарів з ультратонкою литою структурою при оплавленні сталей і сплавів ВКДН.
65288. Експериментальне дослідження просторово-часових характеристик завад від морської поверхні й неоднорідностей тропосфери для оптимізації пристроїв обробки сигналів радіотехнічних систем 982 KB
  Проблема забезпечення безпечного судноводіння в умовах обмеженої видимості й у складних метеоумовах належить до однієї з найбільш затребуваних завдань сучасної навігації. При цьому використанню радіолокаційних засобів немає альтернатив, тому що виявлення...
65289. Швидкий пошук різноформатних даних в граничних режимах систем управління 845 KB
  Сучасний розвиток промисловості характеризується зростанням вимог до інформаційного забезпечення інтеґрованого організаційно-адміністративного управління на верхньому рівні ієрархії та жорсткими вимогами...
65290. Творчість Палладія Еленопольського в контексті формування ідеалів християнського життя: історико-соціальний аспект 208.5 KB
  Актуальність роботи зумовлюється і тим що дослідження процесу використання біблійних текстів у конструюванні християнського дискурсу за часів Пізньої Античності є відносно новими і нечастими; ця сфера історичних досліджень лише нині почала активно розвиватися в зарубіжній історіографії...
65291. ФОРМУВАННЯ ФАХОВОЇ КОМПЕТЕНТНОСТІ МАЙБУТНІХ ІНЖЕНЕРІВ-МЕТАЛУРГІВ У ПРОЦЕСІ ВИВЧЕННЯ ПРОФЕСІЙНО ОРІЄНТОВАНИХ ДИСЦИПЛІН 217 KB
  Необхідність підвищення рівня фахової компетентності майбутніх інженерівметалургів зумовлена інтенсивною модернізацією вітчизняного металургійного...
65292. Формування дослідницьких умінь студентів технічних університетів у процесі вивчення професійно-орієнтованих дисциплін 538.5 KB
  Критерії: 1 мотиваційно-ціннісний 2 когнітивний 3 діяльнісний формування ціннісного ставлення до дослідницької діяльності; створення в технічному університеті професійнодослідницького середовища; забезпечення...
65293. Підвищення ефективності процесу електродугового наплавлення шляхом використання комбінованих магнітних полів 2.57 MB
  Встановлення особливостей впливу КМП на процеси утворення форми посилення валика та форми проплавлення основного металу при дуговому наплавленні під флюсом дасть можливість розробити рекомендації для вибору оптимальних параметрів...
65294. ФОРМУВАННЯ ЗАГАЛЬНОТЕХНІЧНИХ ЗНАНЬ У ПРОЦЕСІ ПРОФЕСІЙНОЇ ПІДГОТОВКИ МАЙБУТНІХ УЧИТЕЛІВ ТЕХНОЛОГІЙ 221.5 KB
  Нерозробленість даної проблеми наявні протиріччя обумовили вибір теми дисертаційного дослідження: Формування загальнотехнічних знань у процесі професійної підготовки майбутніх учителів технологій.