日期:2014-05-17  浏览次数:20730 次

怎么让C#子窗口的右上角关闭按钮可以关闭整个程序,但是子窗体的close()只关闭子窗口自身
我做了一个登陆界面作为子窗体,密码正确可以进入主窗体,目前的做法是this.Close(),但是这样的话直接点击登陆界面右上角的关闭也可以进入主窗体,如果在FormClosing里面Application.Exit();的话那close()后面也会执行FormClosing。
怎么做才能点击子窗体的右上角按钮关闭时关闭整个程序,但是点击按钮事件的时候只关闭当前子窗体,不要用hide

------解决方案--------------------
点击按钮时,加个标记,标识是点击按钮触发的,在关闭事件中判断,根据这个值去决定是否关闭程序
------解决方案--------------------
那如果你要这样做,你就用个全局变量标识是哪种情况下的关闭啊,例如:
Int16 closeType = 0;
密码正确后,调用this.Close() closeType=1;
然后触发Form_Closing事件 判断closeType的指
如果等于0,那么就调用Application.Exit();
------解决方案--------------------
登录窗口一定会设置登录状态的全局变量,只要判断如果未登录就退出。