- •А.Ю. Демин, в.А. Дорофеев программирование на с#
- •Лабораторная работа №1 Изучение среды разработкиVisualStudio
- •1.1. Интегрированная среда разработчика VisualStudio
- •1.2. Настройка формы
- •1.3. Размещение элементов управления на форме
- •1.4. Размещение строки ввода
- •1.5. Размещение надписей
- •1.6. Написание программы обработки события
- •1.7. Написание программы обработки события нажатия кнопки
- •1.8. Написание программы обработки события загрузки формы
- •1.9. Запуск и работа с программой
- •1.10. Динамическое изменение свойств
- •1.11. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №2 Линейные алгоритмы
- •2.1. Структура приложения
- •2.2. Работа с проектом
- •2.3. Описание данных
- •Целочисленные типы
- •Типы с плавающей точкой
- •Символьные типы
- •Логический тип данных
- •2.4. Ввод/вывод данных в программу
- •2.5. Арифметические действия и стандартные функции
- •2.6. Пример написания программы
- •2.7. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №3 Разветвляющиеся алгоритмы
- •3.1. Логические переменные и операции над ними
- •3.2. Условные операторы
- •3.3. Кнопки-переключатели
- •3.4. Пример написания программы
- •3.4.1. Создание формы
- •3.4.2. Создание обработчиков событий
- •Индивидуальные задания
- •Лабораторная работа №4 Циклические алгоритмы
- •4.1. Операторы организации циклов
- •4.2. Цикл с предусловием
- •4.3. Цикл с постусловием
- •4.4. Цикл с параметром
- •4.5. Средства отладки программ
- •4.6. Порядок выполнения задания
- •Индивидуальные задания
- •Лабораторная работа №5 Классы и объекты
- •5.1 Классы и объекты
- •5.2 Динамическое создание объектов
- •5.3 Область видимости
- •5.4 Операции is и as
- •5.5 Сведения, передаваемые в событие
- •Индивидуальные задания
- •Лабораторная работа №6 Строки
- •6.1. Строковый тип данных
- •6.2. Более эффективная работа со строками
- •6.3. Элемент управления ListBox
- •6.3. Порядок выполнения индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №7 Одномерные массивы
- •7.1. Работа с массивами
- •7.2. Случайные числа
- •7.3. Порядок выполнения индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №8 Многомерные массивы
- •8.1. Двухмерные массивы
- •8.2. Элемент управления DataGridView
- •8.3. Порядок выполнения задания
- •Индивидуальные задания
- •Лабораторная работа №9 Графики функций
- •9.1. Как строится график с помощью элемента управления Chart
- •8.2. Пример написания программы
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа №10 Компьютерная графика
- •10.1. Событие Paint
- •10.2. Объект Graphicsдля рисования
- •10.3. Методы и свойства класса Graphics
- •Индивидуальное задание
- •Лабораторная работа №11 Анимация
- •11.1. Работа с таймером
- •11.2. Создание анимации
- •11.3. Движение по траектории
- •Индивидуальное задание
- •Лабораторная работа №12 Обработка изображений
- •12.1. Отображение графических файлов
- •12.2. Элементы управления OpenFileDialogиSaveFileDialog
- •12.3. Простой графический редактор
- •Индивидуальное задание
- •Лабораторная работа №13 Методы
- •13.1. Общие понятия
- •13.2. Перегрузка методов
- •13.3. Параметры по умолчанию
- •13.4. Передача параметров по значению и по ссылке
- •Индивидуальное задание
- •Лабораторная работа №14 Сортировка и поиск
- •14.1. Общие понятия
- •14.2. Алгоритмы сортировки. Метод пузырька
- •14.3. Сортировка выбором
- •14.4. Быстрая сортировка
- •14.5. Поиск элемента
- •Индивидуальное задание
- •Лабораторная работа №15 Рекурсия
- •15.1. Общие понятия
- •15.2. Формирование задержки с помощью таймера
- •Индивидуальное задание
- •Индивидуальные задания повышенной сложности
- •Приложение 1. Свойства элементов управления
- •Приложение 2. События элементов управления
- •Приложение 3. Методы для работы со строками
- •Приложение 4. Методы для работы с массивами
- •Литература
- •Программирование на с#
- •Зарегистрировано в Издательстве тпу Размещено на корпоративном портале тпу в полном соответствии с качеством предоставленного оригинал-макета
Приложение 2. События элементов управления
-
Событие
Пояснения
Load
Происходит до первоначального отображения элемента управления (обычно формы).
Resize
Происходит при изменении размеров элемента управления (например, формы).
Move
Происходит при перемещении элемента управления.
Click
Происходит при щелчке элемента управления. Событие Clickпередает объектEventArgsего обработчику событий, указывая только, что щелчок был выполнен. Если необходимы более точные сведения о мыши (кнопка, количество щелчков, вращение колесика или положение), следует использовать событиеMouseClick. Однако событиеMouseClickне возникает, если щелчок был выполнен не с помощью мыши, а например, при нажатии клавишиEnter.
DoubleClick
Происходит, когда элемент управления дважды щелкается. Двойной щелчок определяется параметрами мыши в операционной системе пользователя. Пользователь может задать время между нажатиями кнопки мыши, которые будут считаться двойным щелчком, а не двумя отдельными щелчками. Событие Clickвызывается каждый раз, когда элемент управления дважды щелкается. Например, при наличии обработчиков для событийClickиDoubleClickобъектаFormсобытияClickиDoubleClickвызываются, когда форма дважды щелкается и оба метода вызываются. Если элемент управления дважды щелкается и этот элемент управления не поддерживает событиеDoubleClick, событиеClickможет быть вызвано дважды.
MouseClick
Происходит при щелчке элемента управления мышью. Если нажать кнопку мыши, когда курсор находится на элементе управления, обычно возникает следующая последовательность событий, относящихся к этому элементу управления:
Событие MouseDown.
Событие Click.
Событие MouseClick.
Событие MouseUp.
MouseDoubleClick
Генерируется при двойном щелчке элемента управления мышью. Событие MouseDoubleClickпроисходит, когда пользователь быстро дважды нажимает кнопку мыши, когда курсор находится на элементе управления. Интервал времени, позволяющий отличить два отдельных щелчка мыши от двойного щелчка, определяется параметрами мыши в операционной системе.
При выполнении пользователем такого действия элемент управления вызывает следующую последовательность событий:
Событие MouseDown.
Событие Click.
Событие MouseClick.
Событие MouseUp.
Событие MouseDown.
Событие DoubleClick.
Событие MouseDoubleClick.
Событие MouseUp.
MouseDown
Происходит при нажатии кнопки мыши, если указатель мыши находится на элементе управления.
MouseUp
Происходит при отпускании кнопки мыши, когда указатель мыши находится на элементе управления.
MouseMove
Происходит при перемещении указателя мыши по элементу управления. Обычно использование события MouseMoveприводит к изменению цвета элемента управления или к прорисовке приподнятого прямоугольника вокруг элемента управления.
MouseLeave
Происходит, когда указатель мыши покидает элемент управления.
KeyPress
Происходит при нажатии клавиши, если элемент управления имеет фокус. Событие KeyPressвызывается только нажатием клавиш с символами. Остальные клавиши вызывают событияKeyDownиKeyUp. СвойствоKeyCharиспользуется для выбора образцов нажатий клавиш во время выполнения и для использования или изменения подмножества стандартных нажатий клавиш. Чтобы обрабатывать события клавиатуры только на уровне формы без предоставления другим элементам управления возможности получать события клавиатуры, необходимо задать для свойстваKeyPressEventArgs.Handledв методе обработки событияKeyPressформы значениеtrue.
События нажатия клавиши происходят в следующем порядке.
KeyDown
KeyPress
KeyUp
KeyDown
Происходит при нажатии клавиши, если элемент управления имеет фокус. Чтобы обрабатывать события клавиатуры только на уровне формы без предоставления другим элементам управления возможности получать события клавиатуры, необходимо задать для свойства KeyPressEventArgs.Handledв методе обработки событияKeyPressформы значениеtrue. Некоторые клавиши, такие какTab,Enter,Escapeи клавиши со стрелками, автоматически обрабатываются элементами управления.
KeyUp
Происходит, когда отпускается клавиша, если элемент управления имеет фокус.
Enter
Происходит при входе в элемент управления (при получении фокуса).
Когда выполняется изменение фокуса с помощью клавиатуры (Tab,Shift+Tabи т. д.), события фокуса происходят в следующем порядке:
Enter
GotFocus
Leave
Validating
Validated
LostFocus
При изменении фокуса с помощью мыши или посредством вызова метода Focusсобытия фокуса возникают в следующем порядке.
Enter
GotFocus
LostFocus
Leave
Validating
Validated
События EnterиLeaveподавляются классомForm. В классеFormим эквивалентны событияActivatedиDeactivate.
Не пытайтесь задать фокус из обработчиков событий Enter,GotFocus,Leave,LostFocus,ValidatingилиValidated. Это может привести к тому, что приложение перестанут отвечать.
Leave
Происходит, когда фокус ввода покидает элемент управления. События EnterиLeaveподавляются классомForm. В классеFormим эквивалентны событияActivatedиDeactivate.
TextChanged
Происходит при изменении значения свойства Text. Данное событие возникает в том случае, если свойствоTextизменено программой или в результате действий пользователя.
Paint
Происходит при перерисовке элемента управления.