Сделайте таймер обратного отсчета в 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.