Лабораторные работы си шарп. Таймер и анимация»
Приложения для Windows forms
Lab 9. Элементы управления Timer и PictureBox
Выполнить: Разработайте приложение, в котором при нажатии на кнопку изображение будет перемещаться по экрану (например, по горизонтали).
[Solution and Project name: Lab9
, file name Lab9.cs
]
✍ Решение:
-
Инструментарий:
- Создайте новый проект и расположите на новой форме элементы управления PictureBox (назовите его pct) и два элемента Button: btnStart и btnExit, как показано на рисунке. Создайте также элемент управления Timer (tmr), который будет передвигать PictureBox через определенные промежутки времени.
- В окне свойств элемента PictureBox выберите свойство Image и в открывшемся диалоговом окне отметьте пункт Local Resource (Локальный ресурс). Нажмите кнопку Import и выберите любой файл картинки.
- Для того чтобы PictureBox перемещался вправо, необходимо увеличивать его свойство Left – координату левого края элемента управления. Поэтому запрограммируйте событие Tick элемента Timer следующим образом:
- Теперь необходимо запустить Таймер. Это можно сделать нажатием кнопки Старт. Поместите следующий код в обработку события Click кнопки Старт:
объект | свойство name |
---|---|
форма | |
контейнер для картинки (PictureBox) | pct |
кнопка (button) | btnStart |
кнопка (button) | btnExit |
таймер (timer) | tmr |
Элемент Timer скрытый, он появляется ниже дизайна формы.
private void tmr_Tick(object sender, EventArgs e) { pct.Left = pct.Left + 20; } |
private void btnStart_Click(object sender, EventArgs e) { tmr.Enabled = true; tmr.Interval = 50; } |
Дополнительное задание.
- Исправьте приложение так, чтобы Графическое окно (PictureBox) не выходило за край формы (останавливалось бы у правого края окна), а при нажатии на кнопку Старт перемещалось бы в исходное положение.
- Измените приложение так, чтобы при первом нажатии на кнопку Старт графическое окно начинало двигаться, а при повторном – останавливалось. При этом должна меняться надпись на кнопке: Старт – при запуске, Стоп – при остановке.
Вопросы для самоконтроля:
- Каково основное назначение элемента управления PictureBox?
- Для чего используется элемент управления Timer при создании анимации?
- Какое свойство PictureBox необходимо изменить для того, чтобы переместить этот элемент управления по вертикали?