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?


 

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

31120. Фирма в условиях совершенной и несовершенной конкуренции 33.39 KB
  Равновесие фирмы в условиях совершенной и несовершенной конкуренции На любом рынке любой его субъект действует в соответствии с правилами этого рынка. Они в свою очередь зависят от таких факторов как количество участников наличие барьеров входа и выхода с этого рынка степени влиятельности каждого из субъектов на весь рынок их доли рынка. Это и определяет условную принадлежность рынка к какомулибо из видов: полиполия совершенная конкуренция олигополия монополия или монопсония. concurenti от concurrere сталкиваться это тип...
31121. Рынки факторов производства и формирование доходов 256.46 KB
  Рынки факторов производства и формирование доходов. Рынки факторов производства и формирование доходов Спрос на факторы производства Рынки факторов производства это рынки труда капитала земли полезных ископаемых информации знаний интеллектуальных способностей предпринимательского таланта. Рынки факторов производства имеют свои особенности которые необходимо учитывать. Все факторы производства используемые в хозяйственной деятельности можно разделить на две группы: 1 материальные к которым относятся капитал и земля; 2 социальные...
31122. Антимонопольное регулирование 197.06 KB
  Представляет собой комплекс экономических административных и законодательных мер осуществляемых государством и направленных на то чтобы обеспечить условия для рыночной конкуренции и не допустить чрезмерной монополизации рынка угрожающей нормальному функционированию рыночного механизма. АНТИМОНОПОЛЬНОЕ ЗАКОНОДАТЕЛЬСТВО комплекс законов и правительственных актов в странах с рыночной экономикой направленных на поддержание конкурентной среды в различных сферах предпринимательской деятельности противодействие монополизму и противодействие...
31123. Национальная экономика: цели и результаты развития 26.72 KB
  Кризисы сопровождаются безработицей расстройством денежной системы банкротствами ухудшением жизни населения. Финансовая система включает три основных звена: государственные финансы финансы населения и финансы предприятия. В странах с развитой рыночной экономикой доходная часть бюджета на 80 90 формируется за счет налогов с предприятий и населения. Это совокупность мероприятий в сфере налогообложения направленных на формирование доходной части государственного бюджета повышение эффективности функционирования всей национальной...
31124. Система классификаций и кодирования информации. Проектирование фактографических и документальных БД 105.84 KB
  Система кодирования совокупность знаков и правил их использования для представления информации. Системы кодирования могут носить локальный характер в рамках одного предприятии и глобальный для всей страны. Существуют следующие системы кодирования: Порядковая объекты кодируются числами натурального ряда и используются для кодирования небольших и устойчивых номенклатур объектов; Серийная является развитием порядковой системы кодирования и предусматривает выделение серии номеров для кодирования каждого класса объектов.
31125. Автоматизированное проектирование ИС 114.56 KB
  CSE технологии совокупность методов анализа проектирования разработки и сопровождения информационной системы. Основная цель CSE технологии состоит в том чтобы отделить процесс проектирования информационной системы от ее кодирования и последующих этапов разработки а так же максимально автоматизировать процесс разработки и функционирования системы. Которые поддерживают одну или несколько методологий анализа и проектирования ИС. Графический редактор диаграмм предназначен для отображения в заданных нотациях всех диаграмм...
31126. Типовое проектирование ИС 248.38 KB
  Рисунок 1 Классификация методов типового проектирования ИС. Элементный метод типового проектирования. В качестве типового элемента системы используется ТПР по задаче или по отдельному виду обеспечения информационному техническому. Достоинства метода: Применение модульного подхода к проектированию и документированию ИС Недостаток метода: Большие затраты времени на сопряжение разнородных элементов вследствие информационной программной и технической несовместимости ТПР Плохая адаптивность элементов к особенностям объекта применения ИС...
31127. Организация процесса конструирования 54.29 KB
  Технология конструирования программного обеспечения ТКПО система инженерных принципов для создания экономичного ПО которое надежно и эффективно работает в реальных компьютерах. Стратегии: Однократный проход или водопадная стратегия это линейная последовательность этапов конструирования с определением всех требований вначале процесса. Быстрая разработка достигается за счет использования компонентноориентированного конструирования.
31128. Процесс руководства проектом и планирование проектных задач 17.3 KB
  Анализ риска. Исследование области неопределенности анализ ее влияние на проект. Первыми выполняемыми задачами являются системный анализ и анализ требований. Системный анализ проводится с целью: 1 выяснения потребностей заказчика; 2 оценки выполнимости системы; 3 выполнения экономического и технического анализа; 4 распределения функций по элементам компьютерной системы аппаратуре программам людям базам данных и т.