- this.Close();仅仅是关闭当前窗口若不是主窗体的话程序无法退出。
当我们从登录窗体登录成功后登录窗体消失,主窗体出现;但是当我们关闭主窗体时程序却没有结束这是因為登录窗体是主线程,我们仅仅是关闭了主窗体的线程并没有关闭主线程。
情况一:点击窗体关闭按钮后窗体退出,程序结束
情况二:点击窗体关闭按钮后弹出提示,若点击确认则窗体退出程序结束
因为方法一在点击确定后,因为Application.Exit();会触发第二次弹框提示所以如果想要只出现一次弹窗提示,需要将DialogResult.OK改为DialogResult.Cancel并且if语句中点击确定后执行空语句将Application.Exit();添加到Form_Closed中去执行。不过我们为了优化代码使其更加简便我们引入了取消订阅事件见方法二:
方法二中的取消订阅事件:
双击将要使用该事件的窗体,在窗体的属性中点击闪电图标后在下面行为列表中查找:
有时你点击闪电后还是没有找到这是因为选择的对象问题:
发布了84 篇原创文章 · 获赞 57 · 访问量 6万+