[英]Add controls to GUI in background worker
我有一个带有顶部和底部面板的表格。
用户将在顶部面板中进行选择,并且每次他们在一个键字段上更改值时,我都会破坏底部面板中的控件,然后对另一个应用程序进行耗时的调用(通过COM)并添加列表添加了新控件。 此刷新过程需要几秒钟。
我希望能够在刷新时禁用底部面板,并允许用户继续在顶部面板中工作。 当然,这就是在一个线程上运行的所有GUI。
图说:
我玩过BackgroundWorker,但当然不能直接在主线程的GUI上创建控件。
我可以这样做吗,即允许用户界面的一部分被禁用并在后台重建,而用户继续在另一部分上工作?
我可以这样做吗,即允许用户界面的一部分被禁用并在后台重建,而用户继续在另一部分上工作?
一般来说,没有。 GUI元素/控件必须全部在UI线程上创建和使用,且无其他地方。
创建此类情况的最佳方法通常是使用BackgroundWorker
或其他技术在后台线程上获取所需的数据 ,然后在数据完全加载后构建UI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.