C# 窗口关闭相关

关于C#中仅开业通过自己制定的方法关闭程序

 

private bool canBeClosed = false;
//通过此方法来过滤 关闭程序的事件
private void PrinterController_FormClosing(object sender, FormClosingEventArgs e)
        {
           // this.WindowState = FormWindowState.Minimized;
            if (!canBeClosed)
            {
                e.Cancel = true;
            }
        }
//仅可以通过此方法关闭
private void tsmExit_Click(object sender, EventArgs e)
        {
            canBeClosed = true;
            Application.Exit();
        }

 

 

 

 

 

  关于C#中的窗口关闭   当用户点击窗口右上角的X时,会先后引发FormClosing和FormClosed事件,在FormClosing事件中可将e.Cancel设为true来取消窗口的关闭,但是之后再用Form.Close方法关闭窗体时,FormClosing事件仍然会被捕获.按MSDN的说法,Application.Exit()方法可以不引发FormClosing和FormClosed事件.    在自己的一个NotifyIcon程序中,隐藏的窗体在使用Application.Exit()事件时,没有退出.原因为何呢?    调用Form.Dispose(),然后调用application.Exit(),程序顺利关闭,看来对于隐藏的窗体,需先释放资源,才可关闭程序

你可能感兴趣的:(C++,c,C#)