【发布时间】:2009-05-21 18:26:35
【问题描述】:
单击按钮时,会在后台工作程序中执行查询。它是异步的,因此我可以将按钮更改为“取消”,以便用户可以在进程运行时间超过预期时取消该进程。这一切都很好。
但是,我不希望用户能够离开此位置以在表单上执行其他操作。他们必须能够单击“取消”按钮或关闭表单,但不能做其他事情。
【问题讨论】:
-
下次请用问题的形式表达你的问题。
标签: c# .net winforms asynchronous
单击按钮时,会在后台工作程序中执行查询。它是异步的,因此我可以将按钮更改为“取消”,以便用户可以在进程运行时间超过预期时取消该进程。这一切都很好。
但是,我不希望用户能够离开此位置以在表单上执行其他操作。他们必须能够单击“取消”按钮或关闭表单,但不能做其他事情。
【问题讨论】:
标签: c# .net winforms asynchronous
然后我建议您在开始处理查询时禁用表单上的其他控件,并在后台工作人员完成后重新启用它们。
【讨论】:
最好的方法是创建一个像 DisableControls() 这样的方法,其中包含所有其他控件的禁用命令。
一旦异步工作完成,在回调中,调用类似 EnableControls() 的方法来反转进程。
【讨论】: