【发布时间】:2012-03-14 14:45:36
【问题描述】:
这是场景:
平台:Windows
IDE:Microsoft Visual Studio 2008
语言:C#
.NET 框架:3.5
我的应用程序包含 2 个buttons - “加载数据”和“停止加载数据”以及一个 multi-line textbox。单击“加载数据”button 后,一些数据开始加载到textbox。为了防止用户多次点击“加载数据”button,我在点击后禁用了button。当整个数据被加载到textbox 中时,“加载数据”button 再次被激活。另一方面,单击“停止加载数据”button 会停止加载数据(如果用户希望在加载整个内容之前停止它)。
如前所述,为了防止用户多次点击“加载数据”button,我禁用了button,目的是用户只能点击“停止加载数据”button,否则等待整个数据被加载到textbox。我实现了这一点。乍一看,它似乎运作良好。但是在测试时我发现即使“加载数据”button 被禁用,如果用户单击该button,虽然在那一刻什么都没有发生,但只要整个数据被加载并且button 变为再次启用,则发现在禁用状态下进行的单击被执行。就好像程序正在记录击键和鼠标点击并等待按钮再次变为活动状态。但是我的程序中没有这样的击键或鼠标点击记录工具。是什么导致了这样的活动?我怎样才能防止这种行为?
谢谢。
【问题讨论】:
-
您是否通过不使用后台线程来执行操作来阻塞 UI?
-
@winSharp93:我正在使用后台线程来执行操作。但我仍然遇到了一些问题。感谢 Yahia,因为建议的解决方案对我有用。
标签: c# windows visual-studio-2008