Создайте новый проект Ex3 в решении Lab6.
1‑й этап. Создадим визуальный интерфейс приложения.
Измените значения свойств формы следующим образом:
Свойство | Значение |
Name | MainForm |
Text | Секундомер |
Поместите на форму компонент Label и две кнопки Button. Измените их свойства следующим образом:
Компонент | Свойство | Значение |
Label1 | Name | TimeLabel |
AutoSize | false | |
Dock | top | |
Font. Size | ||
Text | ||
TextAlign | MiddleCenter | |
Button1 | Name | StartButton |
Font. Size | ||
Text | Старт | |
Button2 | Name | StopButton |
Font. Size | ||
Text | Стоп | |
Enabled | false |
Поместите на форму компонент Timer. Установите значение свойства Interval 1000, а Enabled – false.
2‑й этап. Создание программного кода.
В классе формы опишите целочисленную переменную:
int Seconds = 0;
При нажатии на кнопку «Старт» на форме отображается количество секунд, прошедших с момента запуска секундомера. Создайте обработчик события Click кнопки StartButton и поместите туда следующие операторы:
//изменяем активность кнопок
StopButton.Enabled = true;
StartButton.Enabled = false;
Seconds = 0; //обнуляем счетчик секунд
|
|
timer1.Enabled = true; //запускаем Timer
//выводим значение секундомера в метке
TimeLabel.Text = Seconds.ToString();
Заметьте, что после нажатия кнопка «Старт» становится неактивной, в то время как кнопка «Стоп», наоборот, становится активной.
Создайте обработчик события Tick компонента Timer.
private void timer1_Tick(object sender, EventArgs e)
{
Seconds++; //увеличиваем счетчик секунд
//отображаем изменения в метке
TimeLabel.Text = Seconds.ToString();
}
Создайте обработчик события Click кнопки StopButton.
private void StopButton_Click(object sender, EventArgs e)
{
//изменяем активность кнопок
StartButton.Enabled = true;
StopButton.Enabled = false;
timer1.Enabled = false; //останавливаем Timer
}
Запустите и протестируйте приложение, убедитесь в правильности его работы. Какие недостатки в работе приложения вы заметили?
Упражнение 6.5. Модифицируем приложение «Секундомер» таким образом, чтобы результат работы секундомера выводился в формате «часы:минуты:секунды».