我的项目有一个名为 inHour 的字符串设置,在主窗体中,用户可以更改该字符串,该字符串是一个特定的小时和分钟,格式如下:hh:mm tt。
现在,假设我已将默认时间更改为下午 4:50。 当实时达到该字符串时(通过使用 DateTime.Now.ToString("hh:mm tt") == inHour),系统托盘中会显示一个气球提示(通过使用 notificationIcon)。
因此,比较时间条件位于在 FormLoad 处启动的线程内。如果时间到达下午 4:50气球提示显示,但它保持可见,因为线程尚未停止。
我尝试将 int 设置为 0,然后将其设置为 i++,因此我使用了 while 条件,检查当 int i 不等于 0 时,它将检查是否是时候显示气球提示,但如果我设置然后 i 为 0,线程将不会继续,如果我更改小时再次测试,它将不起作用,因为 i 等于 0 并且尚未再次设置为无限。
那么我怎样才能找到一种方法来检查时间、显示气球提示并重新开始所有过程?
提前致谢,CCB
最佳答案
使用 Timer
比检查循环并占用整个线程更有效。在正确的时间触发。 This question基本上回答了您的问题并拥有您需要的所有相关信息。
关于c# - 当时间为 XX 时显示气球提示 :XX in C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31930443/