1

時間管理のために指紋スキャン用の Windows フォーム アプリケーションを使用していますが、指紋スキャンのコントロールを初期化するだけでも時間がかかりすぎて、約 5 ~ 10 分かかります。そのため、アプリケーションがハングせずに待機する必要があることをユーザーが認識できるように、読み込みフォームを作成する必要がありますが、長時間実行されるプロセスの原因はInitializeComponent()、フォームの初期化からのメソッド内にありました。

私の質問は、InitializeComponent()メイン スレッド以外の別のスレッドから UI コントロールにアクセスするとエラーが発生するため、バイオメトリクス スキャナー コントロールがあるフォームの初期化中に読み込みフォームを表示できるように、メソッドを別のスレッドに移動するにはどうすればよいかということです。 ?

私のコードは C#、Framework 2.0、Visual Studio 2008 でビルドされています。

助けてください、事前に感謝します。

4

3 に答える 3

1

ビジュアル デザイナーから指紋スキャンのコントロールを削除し、追加のバックグラウンド スレッドを使用してコードからこのコントロールを作成し、このプロセス中に進行状況情報を書き込むことができます。

于 2012-09-17T05:51:48.660 に答える
1

SOにはそれに関する多くのデータがあります:

C#で別のスレッドからGUIを更新するには?

スレッドでの UI へのアクセス

クロススレッド コードを呼び出す最良の方法は?

もっとたくさん見つけることができます。

それでも助けが必要な場合は、コメントを投稿してください。

于 2012-09-17T05:53:23.953 に答える
0

InitializeCompoent();でメソッドを見つけることができyourForm.designer.cs、そこから変更できます。

于 2012-09-17T05:54:13.103 に答える