Генератор цветов Уроки C++ Уроки Windows forms Учебники по программированию Уроки HTML Уроки CSS Готовые задания Исходники Полезные программы
регистрация доменов

Дешёвые домены


Уроки Windows Forms C++/C#




Создание секундомера элемент Timer в MVS C++

В этом уроке будет рассмотрен такой элемент, как "timer" – счётчик времени. Очевидно, что такой элемент применяется во многих программах: часы, анимации, компьютерные игры, так же программы, которые работают со сложным оборудованием на производстве и многое другое. Работа с этим элементом будет рассмотрена на примере простейшего секундомера. Суть его работы следующая – Нажимаем на кнопку "Старт" начинает работать счётчик, отображая секунды с точностью до тысячных, надпись кнопки при этом изменяется на "Пауза", нажав на неё - время останавливается. На форме присутствует вторая кнопка "Сброс", которая обнуляет показания счётчика. У элемента "timer" можно устанавливать интервал - в коде этой программы он равен 10, вы можете поэкспериментировать: написав 100 или 0.1. Надпись "{0:F3}" означает что переменная "Time" будет отображаться с точностью до тысячных – тремя знаками после запятой, вы можете менять это количество в зависимости от установленного интервала. Перенесите на форму четыре элемента: 1"lable", 2"button" и 1"timer". Вид программы:



Код программы:


C++


#pragma endregion
double Time;
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
this->Text = "Секундомер";
label1->Text = "0.0";
button1->Text = "Старт";
button2->Text = "Сброс";
timer1->Interval = 10;
timer1->Enabled = false;
Time = 0.0;
}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
timer1->Enabled = !(timer1->Enabled);
if (timer1->Enabled == true)
button1->Text = "Пауза";
else
button1->Text = "Старт";
}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
timer1->Enabled = false;
label1->Text = "0";
Time = 0;
}

private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) {
Time += 0.001 * timer1->Interval;
label1->Text = String::Format("{0:F3}",Time);
}

};
}



Результат:


Следующий урок >>