private void timer1_Tick_1(object sender, EventArgs e)
        {
            MessageBox.Show("有新信息");
            frmMain ma = new frmMain();
            ma.Hide();
            
            frmEnvelope n = new frmEnvelope();
            n.Show();
            timer1.Interval = 3000;
            int i = 1;
       timer1.Enabled = false;
          }
代码路上,本意是想要实现提示信息,但是运行后发现会无限制运行 请问这是为什么          
            

解决方案 »

  1.   

    你是不是哪里还把time1.enabled=true过啊
      

  2.   

    自己F11单步,timer1.Enabled  哪里有设置
      

  3.   

    因为 frmMain ma = new frmMain();你不断在实例化新的 frmMain,而其中包含的 Timer 就会再实例化一个 frmMain循环往复咯~
      

  4.   

    肯定是无限制运行了。因为timer控件就是根据你设定的时间,周期性的执行你上面的代码。你要执行一次的话,加个变量控制就可以了。
      

  5.   

    又或者你在用完之后,就设置timer1.enabled=false;
      

  6.   

    首先time你是启动的,而且时间是3000,这样就满足了无限制的循环,如果你想控制的话,就得根据你的条件然后判断达到了条件然后把timer1.Enabled = false;
    就可以停止了
      

  7.   

    判断达到了条件后把timer1.Enabled = false;
      

  8.   

    timer1.Interval = 3000; 好像就3s而已。。