Целью данного урока является ознакомление с объектом Visual c++
timer
, рассмотрение его свойств и метода Tick
.
Работа с элементом Timer в Visual c++
Разработайте приложение в Visual c++ «таймер» или «Секундомер«, которое при нажатии на кнопку начинает или приостанавливает отсчет времени в секундах
Целью данного урока является ознакомление с объектом Visual c++ timer
, рассмотрение его свойств и метода Tick
.
Инструментарий:
объект | свойство name |
---|---|
форма | |
текстовое поле (textbox) | txtSeconds |
текстовое поле (textbox) | txtMinutes |
таймер (timer) | tmrSecundomer |
кнопка (button) |
- Создайте на новой форме два текстовых окна: для секунд (txtSeconds) и минут (txtMinutes).
- Создайте элемент управления Timer (tmrSecundomer).
Этот элемент не отображается на форме, а потому размещается в нижней части экрана. Timer необходим, чтобы выполнять какие-либо действия через определенные промежутки времени, поэтому он невидим при работе приложения. Промежуток времени устанавливается свойством таймера Interval, которое измеряется в миллисекундах. Чтобы отсчитывать секунды необходимо установить значение 1000 для этого свойства.
- Установите значение 1000 для свойства Interval элемента Timer.
- Запрограммируйте событие Tick для таймера так, чтобы значение текстового окна секунд увеличивалось на единицу:
private: System::Void tmrSecundomer_Tick(…) { int tmp= System::Int32::Parse(this->txtSeconds->Text); tmp+=1; this->txtSeconds->Text=tmp.ToString(); } |
Событие Tick происходит по истечении времени в миллисекундах, указанного в свойстве Interval.
- Создайте и запрограммируйте кнопку, которая будет запускать или останавливать Ваш секундомер. Для запуска и остановки отсчета времени используйте тот факт, что изначально таймер заблокирован, т.е. его свойство Enabled равно false. Чтобы запустить таймер необходимо установить это свойство в значение true и наоборот.
- Запустите приложение. Щелкните по кнопке Старт и убедитесь, что значение окна секунд стало увеличиваться на единицу.
Дополнительное задание.
- Измените приложение так, чтобы время изменялось и в секундах и в минутах.
- Добавьте кнопку Сброс, при нажатии на которую время на секундомере обнулялось бы.
- Добавьте текстовое поле и найдите, как вывести в Visual c++ текущее время.
Вопросы для самоконтроля:
- Каково основное назначение элемента управления Timer в Visual c++?
- В каких единицах измеряется его свойство Interval?
- С помощью какого события элемента управления Timer можно выполнять действия через заданные промежутки времени?
- Каков стандартный префикс элемента управления Timer?
- С помощью какой команды можно задать генерирование события Tick элемента управления Timer через каждые 2 секунды?