Остановка таймера при отображении диалога - C#
Формулировка задачи:
Добрый день. Подскажите, хочу написать свой таймер, который будет служить в качестве часов. При создании экземпляра окна создается сам таймер. Ниже приведу его код. Вопрос в том, если будет выведено диалоговое окно, то таймер остановится, или продолжит свою работу? Мне нужно, чтобы таймер останавливался при открытии диалогового окна, а при закрытии диалогового окна - продолжал работу.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Test { public class Time { public static string Day { get { string rc = ""; switch (d) { case 0: rc = "Понедельник"; break; case 1: rc = "Вторник"; break; case 2: rc = "Среда"; break; case 3: rc = "Четверг"; break; case 4: rc = "Пятница"; break; case 5: rc = "Суббота"; break; case 6: rc = "Воскресенье"; break; } return rc; } } public static string Hours { get { string hours = Convert.ToString(h); if (hours.Length == 1) hours = hours.Insert(0, "0"); return hours; } } public static string Minutes { get { string minutes = Convert.ToString(m); if (minutes.Length == 1) minutes = minutes.Insert(0, "0"); return minutes; } } static short d; // day [0;7) static short h; // hours [0,24) static short m; // minutes [0,60) static Timer timer = new Timer(); public Time() { h = 0; m = 0; timer.Interval = 100; timer.Tick += Timer_Tick; timer.Start(); } private static void Timer_Tick(object sender, EventArgs e) { if (++m == 60) { m = 0; if (++h == 24) { h = 0; if (++d == 7) d = 0; } } } public static void Stop() => timer.Stop(); public static void Start() => timer.Start(); public static string GetDay() => Day; public static string GetHours() => Hours; public static string GetMinutes() => Minutes; public static string GetTime() => ($"{Hours}:{Minutes}"); public override string ToString() => (Day + ", " + GetTime()); } }
Решение задачи: «Остановка таймера при отображении диалога»
textual
Листинг программы
void StopTimerAndShowForm(Form form) { tm.Stop(); form.ShowDialog(this); tm.Start(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д