1 of 15

Обработка событий

Цели обучения:

10.4.3.4 изменять свойства компонентов через окно свойств;

10.4.3.5 использовать компоненты для ввода данных;

10.4.3.6 использовать компоненты для вывода данных.

− рассуждать о способах создания дружественного интерфейса приложения;

− изменять свойства компонентов через окно свойств;

− использовать компоненты для ввода и вывода данных;

− применять элементы RadioButton, CheckBox, GroupBox.

2 of 15

Какими должны быть правила дружественного интерфейса?

− читабельный шрифт;

− логическое расположение компонентов на форме и подходящие по смыслу изображения;

− сочетающиеся цвета;

− поясняющие подписи.

3 of 15

Компоненты переключателей можно сгруппировать в одном блоке. Для этого используется объект GroupBox. Он часто используется в интерфейсах программ при группировании переключателей.

Сколько элементов можно выбрать одновременно в данном приложении?

  • Добавьте компонент GroupBox на форму.
  • Перетащите компоненты RadioButton внутрь GroupBox в дизайнере.
  • RadioButton автоматически становится дочерним элементом GroupBox;
  • логика работы (выбор одного элемента внутри группы) реализуется без кода;
  • Visual Studio сама сгенерирует нужный код в InitializeComponent().

4 of 15

Индивидуальное задание_1

Для реализации интерфейса добавляем следующие компоненты: groupBox1 и groupBox2, Panel1, chart1, textBox1, textBox2, listBox1, listBox2, Button1.

Добавление компонента Chart на форму:

  • Откройте Форму (Form1.cs) в режиме дизайна.
  • Перейдите в Панель инструментов (Toolbox).
  • Найдите компонент Chart (он находится в разделе Data).
  • Перетащите его на форму.

Настройка компонента Chart:

  • Выберите Chart, откройте Свойства (Properties).
  • Найдите свойство Series и добавьте новый ряд данных (Series).
  • Измените свойство ChartType у созданной серии на желаемый тип диаграммы (например, Column, Line, Pie и т. д.).

Добавление данных в диаграмму (код)

1. Дважды кликните по кнопке Button1, чтобы создать обработчик события Click.

2. Добавьте следующий код для заполнения диаграммы данными:

private void button1_Click(object sender, EventArgs e)

{

this.chart1.Series[0].Points.AddXY(Convert.ToInt32(textBox1.Text), Convert.ToDouble(textBox2.Text));

listBox1.Items.Add(textBox1.Text);

listBox2.Items.Add(textBox2.Text);

}

5 of 15

Результат

Дескрипторы для взаимопроверки:

1. Добавление компонентов на форму:

- groupBox1 и groupBox2;

- panel1;

- chart1;

- textBox1, textBox2;

- listBox1, listBox2;

- Button1;

2. Добавление и настройка компонента Chart:

- добавил компонент Chart через Панель инструментов;

- добавил новую Series в Chart через свойства;

- изменил ChartType серии на выбранный тип диаграммы (Column, Line, Pie и др.);

3. Добавление данных в диаграмму через код:

- создал обработчик события Click для Button1;

- добавил код, который считывает данные из textBox1 и textBox2;

- добавил данные в диаграмму с помощью chart1.Series[0].Points.AddXY(...).

- добавил данные в listBox1 и listBox2 для отображения ввода.

6 of 15

КОЛЕСО БАЛАНСА

Оценивайте свои учебные умения - чем лучше поняли тем дальше точка на ребре находится от цента колеса. В конце вы должны соединяет точки и заштриховать полученную фигуру. В идеальном варианте должен получиться ровный круг – «Колесо баланса».

Panel 1

Chart 1

Как исправить?

Почему не получился круг?

Что помешало?

7 of 15

Проблемные моменты, выявленные на предыдущем этапе урока

8 of 15

Обработка событий

Цели обучения:

10.4.3.10 программировать событие для элемента управления;

10.4.3.11 изменять свойства компонентов программным путем.

- программировать события MouseMove, MouseDown, MouseUp;

- программировать события DoubleClick, Load, Click, MouseClick, MouseDouleClick;

- изменять свойства компонентов программным путем.

9 of 15

Давайте еще раз вспомним что такое событие в ООП?

- Приведите примеры событии из жизни.

Любой объект реальной жизни вынужден реагировать на те или иные события окружающего мира: зазвонил телефон - человек берёт трубку, пошёл дождь - мы открываем зонт.

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

10 of 15

Событие MouseMove:

Вспомним проект «Недотрога»: Рисунок ежика на форме при наведении мыши на меняет свое положение и не дает дотронуться до него.

Как вызывается событие MouseMove?

Переключись на вкладку Событие и вызови

событие MouseMove, установив курсор возле

выбранного события и двойным щелчком

вызвав окно кода.

11 of 15

Задание_1. Откройте любой ранее созданный проект. Добавьте одну метку (Label). Запрограммируйте событие для данной метки, как указано ниже.

- при наведении (Enter) мыши цвет текста (ForeColor) в метке меняется на красный;

- при нажатии (Down) кнопки мыши цвет текста в метке меняется на желтый;

- при отпускании (Up) кнопки мыши цвет текста в метке меняется на синий.

Оцените приложение одноклассника и предоставьте обратную связь, обращая внимание на дружественность интерфейса.

12 of 15

Исследуйте следующие события:

DoubleClick

Load

Click

MouseClick

MouseDouleClick

Критерии к оцениванию:

- Доступно объяснил/раскрыл понятие;

- Привел пример программного кода (1-2):

- Использован постер для представления теоретического материала и код/проект для практической части;

- Использовал данные с достоверных источников;

- Указал ссылки на ресурс;

- Работала вся группа;

- Сдали презентацию в указанные сроки.

Group work

13 of 15

  1. Дайте определение следующим понятиям: объект; свойства; метод; событие; класс объектов;

2. назовите отличие процедурного языка программирования от объектно-ориентированного?

3. Назовите основные окна среды программирования.

4. Приведите пример свойств компонента Button (кнопка).

5. Перечислите три окна программы Microsoft Visual Studio C# и их назначение.

6. Опишите назначение элементов на рисунке.

7. Проанализируйте программное обеспечение, которое используется в учебном процессе.

14 of 15

Инструкция к заданию:

1. Создать новый проект и разместить компонент PictureBox. Загрузить в него изображение любой геометрической фигуры.

2. Добавить компонент Button и изменить его свойство Text на Click.

3. Реализовать следующие обработчики событий:

  • при загрузке формы изображение располагается по центру интерфейса;

  • при одинарном нажатии кнопки размер изображения уменьшается в 2 раза, а текст кнопки изменяется на DoubleClick;

  • при двойном нажатии кнопки размер изображения увеличивается в 2 раза, а текст кнопки изменяется на Click;

  • при одинарном нажатии кнопки мыши по изображению оно перемещается в правый верхний угол;

  • при двойном нажатии кнопки мыши по изображению оно перемещается в левый нижний угол.

15 of 15

  • Что я сегодня узнал(а):
  • Что получилось хорошо:
  • Что было трудно:
  • Что я могу улучшить: