每天在指定 21点,22点时间弹出一个消息提示框,一天共2次。timer1 中interval设置 1000;
private void timer1_Tick(object sender, EventArgs e)
        {
            label_time.Text = DateTime.Now.ToString();
            if (DateTime.Now.Hour == 22|DateTime.Now.Hour == 21 && DateTime.Now.Minute == 0)
            {
                MessageBox.Show("OK");
             }
            else
                return;
        }为什么 MessageBox 一直弹出来,不停止。 我刚学,高手别见笑。

解决方案 »

  1.   

    1000,interval的单位是毫秒就是100分之一秒 ,1000很短啊
      

  2.   

    http://www.liehuo.net/a/view/11358.html
      

  3.   

                    timer1.Enabled = false;
                    MessageBox.Show("OK");
    改成这样,添加一个timer1.Enabled = false;
      

  4.   

    为什么不计算当前时间与设定时间的差,修改interval,使下一tick的时间为21和22时?
      

  5.   

    修改interval=60000 一分钟执行一次private void timer1_Tick(object sender, EventArgs e)
      {
      label_time.Text = DateTime.Now.ToString();
      //里面要加个内括号
      if ((DateTime.Now.Hour == 22|DateTime.Now.Hour == 21) && DateTime.Now.Minute == 0)
      {
      MessageBox.Show("OK");
      }
      else
      return;
      }
      

  6.   

    建议你用线程命名空间里面的timer类来做。比较好控制
      

  7.   

    不仅要判断小时==22||21,而且分和秒都==0
    要不然 得给你弹俩小时的MesageBox