Обратный отсчет - C#
Формулировка задачи:
Подскажите пожалуйста, как вывести в форму таймер времени, который будет отсчитывать обратное время. Ну например: До конца лицензии осталось 23:55:04.
так что бы при выходе из программы и при новом заходе в неё время начиналось с того момента на котором остановилось.
Решение задачи: «Обратный отсчет»
textual
Листинг программы
public Form1()
{
InitializeComponent();
timer1.Enabled = true;
timer1.Interval = 1000;
this.FormClosing += new FormClosingEventHandler(this.Form1_FormClosing);
this.Load += new EventHandler(this.Form1_Load);
this.timer1.Tick += new EventHandler(this.timer1_Tick);
}
Microsoft.Win32.RegistryKey myRegKey;
DateTime myDT = new DateTime(2011, 1, 1, 23, 55, 04); //Установленная дата
private void Form1_Load(object sender, EventArgs e)
{
try
{
myRegKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\\myProgram\\Date", true);
Object regValue = myRegKey.GetValue("newDate");
myDT = DateTime.Parse(regValue.ToString());
}
catch { myRegKey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\\myProgram\\Date"); }
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
myRegKey.SetValue("newDate", myDT);
}
private void timer1_Tick(object sender, EventArgs e)
{
myDT = myDT.AddSeconds(-1.0);
this.Text = "Осталось " + myDT.ToString("HH:mm:ss");
}
}