当弹出时,在新的窗口中,form_load)ll
中把timer、1—tick这个事件变为由+变为-,当关闭窗口中再反回来,我忘了怎么写,总之原理这是这样了,有空我再写给你

解决方案 »

  1.   

    方法一
    把实例currForm做为全局变量
    If currForm Is Nothing Or currForm.IsDisposed()
    {      
       currForm = new frmMessage();
       currForm.ShowDialog();
       currForm.TopMost = true;
    }
    方法二
    private void timer1_Tick(object sender, System.EventArgs e)
    {
         frmMessage currForm=new frmMessage();
         currForm.ShowDialog();
         currForm.TopMost = true;
         timer1.Enabled=false;
    }
    在frmMessage的close中
    //假设主窗口为frm_main
    frm_main.timer1.Enabled=true;
      

  2.   

    其实方法很简单,定义一个全局的private bool judge=false
    然后:
        private void timer1_Tick(object sender, System.EventArgs e)
    {
      if(judge==false){
         frmMessage currForm=new frmMessage();
         currForm.ShowDialog();
         currForm.TopMost = true;
         judge=true;
        }
    }
    然后在你弹出的这个frmMessage窗口的关闭事件中加入:
        judge=false;                                           wish u good luck
                                                  Greatsft
      

  3.   

    把实例currForm做为全局变量
    If currForm Is Nothing Or currForm.IsDisposed()
    {      
       currForm = new frmMessage();
    }
    currForm.ShowDialog();
    currForm.TopMost = true;
    这样比较简单
      

  4.   

    对主窗体用deactivate事件,在该事件加入刚才那位大虾的判断条件judge=true;就可以不弹出窗口了
      

  5.   

    2.主窗体在状态栏中闪烁表示主窗体获得焦点,但是在最小化状态。
    if(mainForm.WindowState==FormWindowState.Minimized && childForm!=null)
    {
      mainForm.Focus();
    }
    此判断你可以在Timer中设定一个时间间隔进行判断;