我的项目有一个名为inHour的字符串设置,在主表单中,用户可以更改该字符串,它是一个特定的小时和分钟,格式如下:hh:mm tt.
现在,假设我已将默认时间更改为下午4:50。当实时时间达到该字符串时(通过使用DateTime.Now)。ToString("hh:mm tt") == inHour),一个气球提示显示在系统托盘中(通过使用notifyIcon)。
所以,比较时间条件是在一个线程中,在FormLoad开始。如果时间到了下午4点50分,气球尖会显示出来,但它仍然可见,因为线没有停止。
我尝试声明一个int设置为0,然后将其设置为i++,所以我使用了一个while条件,检查当int I不等于0时,它会检查是否该显示气球提示,但如果我将I设置为0,线程将不会继续,如果我改变时间再次测试,它将无法工作,因为I等于0,并没有设置为无限。
那么我怎样才能找到一种方法来检查时间,显示气球提示并重新开始所有的过程呢?
提前感谢建行
与其检入循环并占用整个线程,不如使用在正确时间触发的Timer
更有效。这个问题基本上回答了你的问题,并且包含了你需要的所有相关信息。