.Net Windows Forms - 在等待异步工作时限制表单导航

时间:2009-05-21 18:26:35

标签: c# .net winforms asynchronous

单击按钮时,将在后台工作程序中执行查询。它是异步的,因此我可以将按钮更改为“取消”,以便用户可以在运行时间超过预期时取消该过程。一切正常。

但是,我不希望用户能够离开此位置以在表单上执行其他操作。他们必须能够单击“取消”按钮或关闭表单,但没有别的。

2 个答案:

答案 0 :(得分:6)

然后我建议您在开始处理查询时禁用表单上的其他控件,并在后台工作程序完成时重新启用它们。

答案 1 :(得分:1)

执行此操作的最佳方法是创建一个类似DisableControls()的方法,其中包含所有其他控件的禁用命令。

异步工作完成后,在回调中调用EnableControls()之类的方法来反转该过程。