private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{ if (bl == false) { DialogResult dr = MessageBox.Show("不需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dr == DialogResult.OK) { Application.Exit(); } else { e.Cancel = true; } } else { Application.Exit(); } }点确定按钮是要点两下?窗体才关闭?Application.Exit();又去调用了formclosing事件哈
用这个绝对不会出现上面的问题哈
environment.exit(environment.exitcode)
当用户点击窗口右上角的X时,会先后引发FormClosing和FormClosed事件,在FormClosing事件中可将e.Cancel设为true来取消窗口的关闭,但是之后再用Form.Close方法关闭窗体时,FormClosing事件仍然会被捕获.按MSDN的说法,Application.Exit()方法可以不引发FormClosing和FormClosed事件.
如果在一个NotifyIcon程序中,隐藏的窗体在使用Application.Exit()事件时,程序没有退出.原因为何呢?
应该先调用Form.Dispose(),然后调用application.Exit(),程序才可以顺利关闭,看来对于隐藏的窗体,需先释放资源,才可关闭程序.