WinForm:加载InitializeComponent方法的表单

时间:2012-09-17 05:45:15

标签: c# winforms .net-2.0 biometrics

我们有一个用于指纹扫描的Windows窗体应用程序,用于保持时间,只需初始化指纹扫描控件,需要花费大量时间,大约需要5到10分钟。因此,我们需要创建一个加载表单,以便用户知道应用程序不会挂起并且需要等待,但是长时间运行的过程的原因是在表单初始化的InitializeComponent()方法内部。

我的问题是,如何将InitializeComponent()方法移动到另一个线程,以便在初始化生物识别扫描仪控件所在的表单时显示加载表单,因为它在访问UI控件时会产生错误从主线程以外的另一个线程?

我的代码在C#,Framework 2.0中,在Visual Studio 2008中构建。

请提前帮助,谢谢。

3 个答案:

答案 0 :(得分:1)

您可以从可视化设计器中删除指纹扫描的控件,并使用其他后台线程从代码创建此控件,并在此过程中编写进度信息。

答案 1 :(得分:1)

SO有很多关于它的数据:

How to update the GUI from another thread in C#?

Accessing UI in a thread

Best Way to Invoke Any Cross-Threaded Code?

你可以找到更多。

如果仍需要帮助,请发表评论。

答案 2 :(得分:0)

您可以在InitializeCompoent();中找到yourForm.designer.cs方法,然后您可以修改它。