Windows窗体挂问题

时间:2010-12-20 09:26:59

标签: c#

考虑这种情况:我有两种形式(Form1和Form2)。在Form 1中单击一个按钮时,它将加载Form 2。 Form2包含gridcontrol以显示一些数据。由于数据很大,Form2需要一些时间来加载。这冻结了整个申请。

我想在加载Form2时访问Form1。有可能吗?

3 个答案:

答案 0 :(得分:2)

您可以使用BackgroundWorker在单独的线程中加载数据,以避免阻塞主线程。

答案 1 :(得分:1)

是的,如果您在另一个线程中加载Form2中的数据。您可以查看this page

答案 2 :(得分:0)

this answer查看Loading data from DB asynchronously in win forms

您必须异步加载数据以允许form2的UI响应。

现在要从Form2访问Form1,您可以:

  • 将form1的引用传递给form2(不推荐)
  • 使用全局成员创建一个静态类来交换数据。