我的一个winform程序,用Application.Restart()后Form.FormClosing事件不触发
但是我新建了一个winform,同样的代码,FormClosing事件就触发了。
如果点击X关闭的话,两个都会触发FormClosing事件,我感觉我没做什么设置啊?这是肿么了?

解决方案 »

  1.   


    是指this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);嘛?
      

  2.   

    把ReStart改为:
    System.Diagnostics.Process p = new System.Diagnostics.Process();
    p.StartInfo.FileName = xxx; //你的程序路径
    p.Start();
    //this.Close();
    Environment.Exit(Environment.ExitCode);
    试试看呢?
      

  3.   

    先确定下事件有没有关联吧,我建了个restart和关闭都触发的
      

  4.   


    感谢你的提醒找到答案了根据排除法,发现了一个完全没想到有关联的属性
    ShowInTaskBar
      

  5.   

    事实上是这样
    如果将this.ShowInTaskBar设为false,即便再设为true都会造成用户点击关闭能触发FormClosing事件,但是由系统发出的关闭指令就不会触发FormClosing事情。
    看多很多人提问,怎么样让用户关闭时触发FormClosing,并提示防止误关,而系统关闭就不提示。都没看到解决办法,没想到用这么操蛋的方式解决了= = 好吧,算是有点收获~~XD