Сделайте таймер обратного отсчета в C#
Когда программа запускается, она устанавливает имя и время события. Затем он включает управление Timer.
// Инициализировать информацию о событии.
private const string EventName = "End of the World";
private DateTime EventDate = DateTime.Now +
new TimeSpan(1, 13, 42, 59);
private void Form1_Load(object sender, EventArgs e)
{
lblEvent.Text = EventName;
this.Text = EventName + " at " + EventDate.ToString();
this.ClientSize = new Size(
lblEvent.Bounds.Right,
lblEvent.Bounds.Bottom);
tmrCheckTime.Enabled = true;
}
В следующем коде показан обработчик событий Timer Tick.
// Обновление обратного отсчета.
private void tmrCheckTime_Tick(object sender, EventArgs e)
{
TimeSpan remaining = EventDate - DateTime.Now;
if (remaining.TotalSeconds < 1)
{
tmrCheckTime.Enabled = false;
this.WindowState = FormWindowState.Maximized;
this.TopMost = true;
foreach (Control ctl in this.Controls)
{
if (ctl == lblEvent)
{
ctl.Location = new Point(
(this.ClientSize.Width - ctl.Width) / 2,
(this.ClientSize.Height - ctl.Height) / 2);
}
else
{
ctl.Visible = false;
}
}
using (SoundPlayer player = new SoundPlayer(
Properties.Resources.tada))
{
player.Play();
}
}
else
{
lblDays.Text = remaining.Days + " days";
lblHours.Text = remaining.Hours + " hours";
lblMinutes.Text = remaining.Minutes + " minutes";
lblSeconds.Text = remaining.Seconds + " seconds";
}
}
Когда срабатывает событие Tick, программа вычисляет время, оставшееся до события. Если время события пришло, программа отключает Timer, максимизирует форму и делает форму самой верхней. Он скрывает все элементы управления, кроме тех, которые отображают имя события, которое оно центрирует. Наконец, он использует объект SoundPlayer для воспроизведения звукового ресурса с именем tada.
