我有一个WinForm
应用程序通过Net.Sockets
连接到另一个程序。
当它按X
或 ALT + F4 或其他什么关闭时,应该处理几个例程,我需要保持网络连接,直到它们'重做。
我认为 Application.ApplicationExit 处理程序可以解决问题,但是一旦我下订单,网络连接就会死机。其他重要的事情无法完成。
我的表格也会立即关闭,我需要更长时间。
Application.ApplicationExit
是工作的正确工具吗?
我把它放在我的表单类中,{Main}方法中的App.Runs
位于不同的类中。
答案 0 :(得分:5)
您可以使用表单的Closing
事件。在表单关闭之前调用它。
答案 1 :(得分:0)
如果您有一个打开的窗口,则有事件处理程序Closing
和Closed
。例如,只要单击“X”,就会触发Closing
- 事件。在方法内部,您甚至可以决定是否关闭窗口。
提供类似
的事件处理程序private void Form1_Closing(object sender, FormClosingEventArgs e){
// persist until everything is done
}
并将其与活动相关联
Form1.Closing += Form1_Closing;
有关文档,请参阅MSDN。