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?


 

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

23670. Поиск решения со сменой подцелей 33.5 KB
  В процессе работы необходимо реализовать в среде CLIPS программу решения задачи построения башни из блоков. Вводные замечания Задача построения башни из блоков кубиков заключается в последовательном выборе из неупорядоченной кучи блоков и постановки их друг на друга. Процесс решения задачи представляет собой чередование двух фаз: выбора блока из кучи и установки его в башню. При этом больший по размерам блок не может ставиться на меньший по размерам и следовательно на каждом шаге решения задачи необходимо выбирать из кучи самый большой...
23671. Системы искусственного интеллекта. Изучение базовых команд и конструкций CLIPS 91.5 KB
  Решение: defrule datainput initialfact = printout t crlf Vvedite chislo dnei do zacheta tseloe znachenie: bind days read assert days days printout t crlf Vvedite chislo nesdelannyh laboratornyh rabot v bind works read assert works works printout t crlf Vvedite temperaturu na ulitse: bind temper read assert temper temper printout t crlf Est\' li na ulitse osadki da 1 net 0: bind rain read assert rain rain printout t crlf Is there any white rabbit da 1 net...
23672. Разработка гибридных интеллектуальных систем в среде MatLab 174.5 KB
  Постановка задачи: С помощью адаптивной сети нечеткого вывода аппроксимировать функцию: y = 2x2 Ход работы: Исходные данные для обучения нейросети: Структура нейросети имеет вид: Процесс обучения нейронной сети: Результат обучения нейронной сети: Число эпох 40 Значение ошибки 11296 Просмотр поверхности соответствующей системы нечеткого вывода: Правила сгенерированной системы нечеткого вывода: Результаты аппроксимации с помощью сети: x y Y y y δy 04 032 0322 0002000 0006250 16 512 59 0780000 0152344 28 1568 152 0480000...
23673. Изучение основных возможностей и базовых команд среды CLIPS 61 KB
  Исполнение пакетного файла Вызов редактора Инициализация конструкций Запуск МЛВ Выполнение одного шага вывода Активизация окна списка фактов Активизация окна агенды Для сброса среды CLIPS в исходное состояние используется команда clear или соответствующий пункт меню Execution. Представление фактов и работа с ними. Факты являются одной из основных форм представления информации в CLIPSсистемах и используются правилами для вывода новых фактов из имеющихся. Все текущие факты в CLIPS помещаются в список фактов factlist.
23674. КОНТРОЛЬ НАД ТРУДОВЫМ ПРОЦЕССОМ: ДЕЙСТВИЯ УПРАВЛЯЮЩИХ 173 KB
  Социология труда в советский период претендовала на роль ведущей отрасли социологического знания. Более того проявилась тенденция выдвинуть труд на роль центральной объясняющей категории и представить вообще всю социологию как социологию труда11. К его основным элементам мы относим следующие: постановка целей; распределение функций между работниками; регулирование ритма и интенсивности труда; оценка объема и качества выполненных работ; дисциплинарные санкции; системы вознаграждения за труд. Втретьих и для нас в данном случае...
23675. ДЕЙСТВИЯ РАБОТОДАТЕЛЕЙ И СПРОС НА ТРУД 138 KB
  Они часто многое знают друг о друге перед тем как вступить в отношения занятости Марк Грановеттер Социологические и экономические подходы к анализу рынка труда Лекция 12. ДЕЙСТВИЯ РАБОТОДАТЕЛЕЙ И СПРОС НА ТРУД Мы переходим к анализу проблем занятости обширной области притягивающей внимание таких дисциплин как социология труда и индустриальная социология трудовые отношения и социология профессий. Этими проблемами занятости ведает и особый раздел экономической теории экономика труда labor economics. В отличие скажем от...
23676. ЧЕЛОВЕК В ДОМАШНЕМ ХОЗЯЙСТВЕ 84.5 KB
  Понятие домашнего хозяйства. Для экономистов сфера домашнего хозяйства является периферией не первого и даже не второго порядков. Неоклассическая экономическая теория проводила жесткое различие между сферой производства в которой действовали фирмы и сферой потребления к которой безоговорочно относились домашние хозяйства. Тем не менее уже на пороге домашнего хозяйства мы сталкиваемся с проблемой: человек в таком хозяйстве может быть занят полный рабочий день и полную рабочую неделю но вправе ли мы считать его деятельность трудом Как...
23677. ПОДХОДЫ К ПРОБЛЕМАМ СОЦИАЛЬНОГО РАССЛОЕНИЯ 147.5 KB
  ПОДХОДЫ К ПРОБЛЕМАМ СОЦИАЛЬНОГО РАССЛОЕНИЯ В следующих двух лекциях мы рассмотрим проблемы социальной и экономической стратификации. И вроде бы они демонстрируют понимание того что экономические перспективы человека определяются не только уровнем материального благосостояния родителей но и семейным капиталом который складывается из общественной репутации и социальных связей профессиональных навыков и культурных ценностей впитанных в соответствующей социальной среде. Какоето значение еще может иметь размер группы а тип социальной...
23678. МИР ХОЗЯЙСТВА: МОДЕЛИ ОДНОЛИНЕЙНОГО РАЗВИТИЯ 116.5 KB
  МИР ХОЗЯЙСТВА: МОДЕЛИ ОДНОЛИНЕЙНОГО РАЗВИТИЯ Экономика и общество связаны множеством прочных нитей. Базируясь на широком основании культурных властных и других социальных отношений экономика выступает таким образом как мир хозяйства. Каким бы конкретным вопросом не занимался исследователь не важно экономист или социолог он волейневолей всегда исходит из неких концептуальных предположений о том что представляет собой исследуемый мир хозяйства какое место занимает он в историческом процессе.