Лабораторная работа 7.
Элементы управления Timer и PictureBox
Выполнить: Разработайте
приложение, в котором при нажатии на кнопку изображение будет перемещаться по
экрану (например, по горизонтали).
Форма «Анимация»
Решение:
Инструментарий:
|
объект |
свойство
name |
|
форма |
|
|
контейнер
для картинки (PictureBox) |
pct |
|
кнопка (button) |
btnStart |
|
кнопка (button) |
btnExit |
|
таймер (timer) |
tmr |
1.
Создайте новый проект и расположите на новой форме элементы
управления PictureBox (назовите
его pct)
и два элемента Button: btnStart и btnExit, как показано
на рисунке. Создайте также элемент управления Timer (tmr), который будет
передвигать PictureBox через определенные
промежутки времени.
Элемент Timer скрытый,
он появляется ниже дизайна формы.
2.
В окне свойств элемента PictureBox выберите
свойство Image и
в открывшемся диалоговом окне отметьте пункт Local Resource
(Локальный ресурс). Нажмите кнопку Import и
выберите любой файл картинки.
3.
Для того чтобы PictureBox перемещался
вправо, необходимо увеличивать его свойство Left – координату левого
края элемента управления. Поэтому запрограммируйте событие Tick элемента Timer следующим
образом:
private void tmr_Tick(object sender, EventArgs e) { pct.Left = pct.Left + 20; } |
4.
Теперь необходимо запустить Таймер. Это можно сделать нажатием кнопки Старт. Поместите следующий
код в обработку события Click кнопки Старт:
private void btnStart_Click(object sender, EventArgs e) { tmr.Enabled = true; tmr.Interval = 50; } |
· Запустите и отладьте приложение. Сохраните его.
Дополнительное задание.
1.
Исправьте приложение так, чтобы Графическое окно (PictureBox) не
выходило за край формы (останавливалось бы у правого края окна), а при нажатии
на кнопку Старт перемещалось
бы в исходное положение.
2.
Измените приложение так, чтобы при первом нажатии на
кнопку Старт графическое
окно начинало двигаться, а при повторном – останавливалось. При этом должна
меняться надпись на кнопке: Старт –
при запуске, Стоп –
при остановке.
Вопросы для самоконтроля:
1.
Каково основное назначение элемента управления PictureBox?
2.
Для чего используется элемент управления Timer при
создании анимации?
3.
Какое свойство PictureBox необходимо
изменить для того, чтобы переместить этот элемент управления по вертикали?