2

我有一个带有顶部和底部面板的表单。
用户将在顶部面板中进行选择,每次他们更改一个关键字段上的值时,我都会破坏底部面板中的控件,然后对另一个应用程序进行耗时调用(通过 COM)并添加一个列表正在添加新控件。此刷新过程需要几秒钟。

我希望能够在刷新底部面板时禁用它,并允许用户能够继续在顶部面板中工作。当然,这只是在一个线程上运行的一个 GUI。

插图:

在此处输入图像描述

我玩过BackgroundWorker,当然它不能直接在主线程的GUI上创建控件。

我是否可以这样做,即允许在后台禁用和重建 GUI 的一部分,而用户继续在另一部分工作?

4

1 回答 1

3

我是否可以这样做,即允许在后台禁用和重建 GUI 的一部分,而用户继续在另一部分工作?

一般来说,没有。GUI 元素/控件都必须在 UI 线程上创建和使用,而不是其他任何地方。

创建此类场景的最佳方法通常是使用一种BackgroundWorker或其他技术在后台线程上获取所需的数据,然后在数据完全加载后构建您的 UI。

于 2013-10-03T16:09:47.807 回答