单击按钮时,将在后台工作程序中执行查询。它是异步的,因此我可以将按钮更改为“取消”,以便用户可以在运行时间超过预期时取消该过程。一切正常。
但是,我不希望用户能够离开此位置以在表单上执行其他操作。他们必须能够单击“取消”按钮或关闭表单,但没有别的。
答案 0 :(得分:6)
然后我建议您在开始处理查询时禁用表单上的其他控件,并在后台工作程序完成时重新启用它们。
答案 1 :(得分:1)
执行此操作的最佳方法是创建一个类似DisableControls()的方法,其中包含所有其他控件的禁用命令。
异步工作完成后,在回调中调用EnableControls()之类的方法来反转该过程。