【发布时间】:2010-02-05 18:28:13
【问题描述】:
我有一个按钮单击事件处理程序,它说 this.Close()
在 FormClosing 事件中,我检测到未保存的更改并说“您要保存吗?”
如果他们说是,我设置 e.Cancel = true 然后调用我的 Save 方法。如果最后在我的 Save 方法中保存数据正常,我会说 this.Close() 但表单保持打开状态。
这似乎是一个简单的想法,但我无法解决。
我是否需要在 FormClosing 中创建新线程,所以如果他们说 Yes 设置 e.Cancel = true 并创建一个新线程来执行 Save 然后调用 this.Close()
【问题讨论】:
-
请出于对所有神圣事物的爱不要在表单的关闭事件中调用 this.Close()。另请参阅:无限递归。