Пример 2
Секундомер. Вывод минут и секунд.
Создадим новый проект wf332 типа Windows Forms.
Разместим на форме размером 380200 надпись label1 (свойства BackColor = Green, ForeColor = Yellow, Text = 0:0.0, Font = 60) и две кнопки Старт и Сброс (рис. 3.16, б).
Перетащим на форму Timer (свойства Enabled = false, Interval = 100).
Зарегистрируем события Tick таймера, а также нажатий кнопок Click.
В шаблоны обработчиков введем коды:
private int m, s, ms; // объявление полей
// нажатие кнопки Старт/Стоп
private void button1_Click(object sender, EventArgs e)
{ if (timer1.Enabled)
{ timer1.Stop(); button1.Text = "Старт"; } // остановка таймера
else { timer1.Start(); button1.Text = "Стоп"; } // запуск таймера
}
// нажатие кнопки Сброс, обнуление значений
private void button2_Click(object sender, EventArgs e)
{ m = 0; s = 0; ms = 0; label1.Text = "0:0.0"; }
// счет и вывод по событию Tick таймера
private void timer1_Tick(object sender, EventArgs e)
{ ms++; s = ms/10; m = s/60;
label1.Text = m + ":" + s%60 + "." + ms%10;
}
Протестируем программу. Откорректируем код и свойства компонентов.
Пример 3
Простейшая анимация движения.
Создадим новый проект wf333 типа Windows Forms.
Разместим на форме размером 580 200 две кнопки Старт и Стоп, а также элемент PictureBox размером 140 100. Импортируем в него изображение из файла beg.gif (рис. 3.17, а).
Рис. 3.17. Начальная (а) и промежуточная фазы анимации (б)
Перетащим на форму Timer (свойства Enabled = false, Interval = 20).
Зарегистрируем события Tick таймера, а также нажатий кнопок Click.
В шаблоны обработчиков введем коды:
// перемещение по тикам таймера вправо на 4px, если Left <520, иначе в начало
private void timer1_Tick(object sender, EventArgs e)
{ if (pictureBox1.Left < 520) pictureBox1.Left += 4; else pictureBox1.Left = 8; }
private void button1_Click(object sender, EventArgs e)
{ timer1.Enabled = true; } // старт
private void button2_Click(object sender, EventArgs e)
{ timer1.Enabled = false; } // стоп
Протестируем программу.
Достарыңызбен бөлісу: |