0

私はwinformsデータベースで多く動作するアプリケーションに取り組んでおり、フォームの90%はデータベースから初期データをロードする必要がありますForm_Load

スレッドを使用してフォームを表示し、データを取得してフォームにデータを入力するように言われました。そうしないと、郵便配達員がデータベースにアクセスしてデータを返すまで、顧客はフォームを見ることができません:)

私は以前にスレッドを使っていくつかの簡単なタスクを実行しましたが、この場合は少し混乱します。私はmainFormを持っていますがMdiParent、他のフォームは次のMdiChildようになります。

ChildForm child = new ChildForm { MdiParent = Program.mainForm };

と私のmainForm(MdiParentは静的ですProgram.cs

使うべきかわからないThreadBackgroundWorker?他の解決策?

あなたの親切な返事がこの事件を通して私を助け、私の不完全な知識に力を与えることができれば、私ははるかに幸せです。ありがとう。

4

1 に答える 1

1

BackgroundWorkerを使用するのが最も簡単な方法です。スレッドの問題を処理し、例外をキャッチして、UIスレッドで作業完了コールバックを実行します。

C#4.5を使用している場合は、await/asychも適切なアプローチです。

于 2013-01-24T05:28:47.290 に答える