у меня была идея построить будильник в C# со следующими особенностямиБудильник в C#
- Показывать список дел на день
- Слушать песню из списка песен выбранного
Заполненные особенности я уже сделал
- Показать список ежедневник
- играть песню
Показать форму между определенным временем
private void Form1_Load(object sender, EventArgs e) { Timer MyTimer = new Timer(); MyTimer.Interval = (1 * 60 * 1000); // 1 mins MyTimer.Tick += new EventHandler(MyTimer_Tick); MyTimer.Start(); } private void MyTimer_Tick(object sender, EventArgs e) { WakeUpProcess(); } private void WakeUpProcess() { StreamReader CurrentAgenda = new StreamReader("C:/Users/Max/documents/visual studio 2015/Projects/Advanced_AlarmClock/Advanced_AlarmClock/File Resources/Todays Agenda.txt"); TimeSpan start = new TimeSpan(06, 50, 0); //10 o'clock TimeSpan end = new TimeSpan(07, 00, 0); //12 o'clock TimeSpan now = DateTime.Now.TimeOfDay; System.IO.StreamReader CurrentAgendaRaw = new System.IO.StreamReader("C:/Users/Max/documents/visual studio 2015/Projects/Advanced_AlarmClock/Advanced_AlarmClock/File Resources/Todays Agenda.txt"); string CurrentAgendaTxt = CurrentAgendaRaw.ReadToEnd(); if ((now > start) && (now < end)) { this.WindowState = FormWindowState.Normal; Output.Text = ("Good Morning Max" + Environment.NewLine + CurrentAgendaTxt); Process.Start("C:/Users/Max/Downloads/Juice Newton - Angel Of The Morning.mp3"); } }
Однако, мне нужно какое-то решение проблем, с которыми я сталкиваюсь. - Каждый раз, когда выполняется требование времени (между 6:50 и 7:00), открывается новый экземпляр. Мне нужен только один экземпляр. - Также мог бы кто-нибудь понять меня, как бы я мог заставить программу разбудить компьютер, если это возможно.
Спасибо, Maximus
Просто, чтобы проверить, правильно ли я понял.Единственная причина, по которой вы проверяете, находится ли «сейчас» между окончанием и запуском, является то, что когда «Tick» попадает между вами, вы хотите выполнить этот код один раз. Я прав? – fsschmitt
Да, я не мог работать иначе. – Maximus
Используйте библиотеку, чтобы обрабатывать время для вас, как [Quartz.NET] (https://www.nuget.org/packages/Quartz), он делает такие вещи, как сигналы тревоги, в 100 раз проще , –