Кнопки, индикаторы и управляющие элементы

Содержание

Слайд 2

находится в списке Common Controls палитры компонентов представляет собой командную кнопку,

находится в списке Common Controls палитры компонентов
представляет собой командную кнопку,

которую предполагается нажимать щелчком мыши.

Компонент Button

Слайд 3

Свойства Button AutoEllipsis – будет ли появляться многоточие справа от текста,

Свойства Button

AutoEllipsis – будет ли появляться многоточие справа от текста, сообщая,

что текст распространяется за пределы, отведенные размерами компонента.
DialogResult – значение свойства выбирается из выпадающего списка. Служит для обеспечения закрытия формы, которая открыта как модальная.
Слайд 4

Свойства Button Image – это свойство позволяет выбрать изображение, которое поместится

Свойства Button

Image – это свойство позволяет выбрать изображение, которое поместится в

поле кнопки, но при условии, что значение свойства FlatStyle!=System.
ImageAlign – выравнивается изображение на кнопке.
Слайд 5

События Button Click – возникает, когда по кнопке щелкают мышью; Enter

События Button

Click – возникает, когда по кнопке щелкают мышью;
Enter – возникает,

когда кнопка получает фокус ввода;
MouseHover – возникает, когда курсор мыши находится над кнопкой;
MouseLeave – возникает, когда курсор покидает кнопку.
Слайд 6

Методы Button Hide() – прячет кнопку (делает ее невидимой); Focus() –

Методы Button

Hide() – прячет кнопку (делает ее невидимой);
Focus() – делает кнопку

активной;
Select() – работает аналогично Focus();
Show() – показывает кнопку.
Слайд 7

Компонент Panel Компонент находится в группе Containers палитры компонентов. Панель –

Компонент Panel

Компонент находится в группе Containers палитры компонентов.
Панель – это

компонент, который, как и форма, является контейнером, куда помещаются другие компоненты.
Панели обеспечивают общее (родовое) поведение для компонентов, помещенных в них.
При перемещении панели такие компоненты перемещаются вместе с ней.
Слайд 8

Компонент RadioButton и CheckBox Компоненты располагаются в группе Common Controls. Компонент

Компонент RadioButton и CheckBox

Компоненты располагаются в группе Common Controls.
Компонент RadioButton предлагает

пользователю набор альтернатив, из которого выбирается одна.
Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере.
Соответствует математической операции дизъюнкции.
Компонент CheckBox находится в группе себе подобных.
Включив один CheckBox, можно включать и остальные, и при этом не один из них не выключится.
Соответствует математической операции конъюнкции.
Слайд 9

Группировка кнопок Компоненты обычно сгруппированы У них имеется один общий родитель.

Группировка кнопок

Компоненты обычно сгруппированы
У них имеется один общий родитель.
Им может

выступать как форма, так и компонент Panel (панель).
Если одно множество радиокнопок находится на панели А, а другое – на панели Б, то включение кнопки на панели А не повлияет на состояние такой же кнопки на панели Б, т.к. у них разные родители.
Чтобы кнопки обрабатывали несколько непересекающихся ситуаций, их нужно разместить на разных панелях или в других групповых контейнерах.
Слайд 10

Свойства радиокнопок Appearance – определяет форму появления компонента (в виде обычного

Свойства радиокнопок

Appearance – определяет форму появления компонента (в виде обычного флажка

или в виде кнопки).
Checked – по этому свойству в режиме исполнения приложения можно определить, включен или выключен флажок.
CheckState – устанавливает трехвидовое состояние: включен, выключен, окрашен в серый цвет.
CheckAlign – свойство, позволяющее открыть выпадающий список, где можно выбрать схему размещения флажка в поле компонента (возможно 9 вариантов).
Слайд 11

Компонент GroupBox Групповой контейнеррасположен в группе Containers палитры компонентов. Используются, чтобы

Компонент GroupBox

Групповой контейнеррасположен в группе Containers палитры компонентов.
Используются, чтобы обеспечить разделение

компонентов на различные группы, которые становятся для них родителями.
Это делается для того, чтобы компоненты унаследовали свойства своих родителей.
Обычно так делают, чтобы подразделить форму на несколько функций.
Перемещая GroupBox, мы одновременно перемещаем и все компоненты, которые в нем находятся.
Слайд 12

Комплектация автомобиля Рассчитать стоимость автомобиля одной из четырех марок в зависимости

Комплектация автомобиля

Рассчитать стоимость автомобиля одной из четырех марок в зависимости от

выбранной комплектации.
Если покупатель выбирает все дополнительные опции, ему предоставляется скидка 10% на оборудование.

Lada Priora – 320 тыс.руб,
Hyunday Accent – 340 тыс.руб,
Kia Spectra – 380 тыс.руб,
Chevrolet Lacetti – 440 тыс.руб.

Коврики – 5000 руб,
Защита картера – 2500 руб,
Зимние шины – 7000 руб,
Сигнализация – 12000 руб.

Слайд 13

Комплектация автомобиля

Комплектация автомобиля

Слайд 14

Комплектация автомобиля покупатель обязан выбрать хотя бы один пункт из списка

Комплектация автомобиля

покупатель обязан выбрать хотя бы один пункт из списка «Автомобили».


Для этого необходимо установить свойство Checked для первого элемента списка равным true.
Для удобства радиокнопки назовем согласно соответствующим маркам машин: priora, accent, spectra, lacetti.
Кнопки для выбора дополнительных опций, соответственно: kover, karter, shina, signal.
Слайд 15

Обработка события Click double price, dop, skidka, summ; price=0; dop=0; skidka=0;

Обработка события Click

double price, dop, skidka, summ;
price=0; dop=0; skidka=0; summ=0;
if (priora->Checked)

price=320000.0;
if (accent->Checked) price=340000.0;
if (spectra->Checked) price=380000.0;
if (lacetti->Checked) price=440000.0;
if (kover->Checked) dop+=5000.0;
if (karter->Checked) dop+=2500.0;
if (shina->Checked) dop+=7000.0;
if (signal->Checked) dop+=12000.0;
if ((kover->Checked)&&(karter->Checked)&&(shina->Checked)&&
(signal->Checked)){
skidka=dop*0.1;
}
summ=price+dop-skidka;
label1->Text="Стоимость покупки = "+summ.ToString("C");
label2->Text="Скидка на доп. оборудование = "+skidka.ToString("C");
Слайд 16

Доработки... Для того чтобы не вводить пользователя в заблуждение, будем сбрасывать

Доработки...

Для того чтобы не вводить пользователя в заблуждение, будем сбрасывать расчет

стоимости покупки при изменении выбора.
Обработаем событие Click для одной из кнопок выбора и назначим эту функцию в качестве обработчика для всех остальных соответствующих компонент.
label1->Text="Стоимость покупки = ";
label2->Text="Скидка на доп. оборудование = ";