時間のかかるタスクが別のスレッドで非同期に実行されるように、BackgroundWorkerを使用する必要があります。これにより、WindowsのマルチタスクによりUIが応答可能になります。アプリケーションがビジー状態であることをユーザーに知らせるには、待機カーソルなどのビジュアルインジケーターを使用する必要があります。 MSDN MSDN BackgroundWorker
のBackgroundWorkerクラスから
あなたは独立した専用のスレッドで操作を実行することができます。ダウンロードやデータベーストランザクションなどの時間がかかる操作は、ユーザーインターフェイス(UI)が実行中に応答を停止したように見えることがあります。応答性の高いUIが必要で、そのような操作に関連する長い遅延に直面している場合、BackgroundWorkerクラスは便利なソリューションを提供します。
バックグラウンドで時間のかかる操作を実行するには、BackgroundWorkerを作成し、操作の進行状況を報告するイベントと、操作が完了したときに信号を待ちます。 BackgroundWorkerはプログラムによって作成することもできますし、ToolboxのComponentsタブからフォームにドラッグすることもできます。 WindowsフォームデザイナでBackgroundWorkerを作成すると、コンポーネントトレイに表示され、そのプロパティが[プロパティ]ウィンドウに表示されます。
バックグラウンド操作をセットアップするには、DoWorkイベントのイベントハンドラを追加します。このイベントハンドラで時間のかかる操作を呼び出します。操作を開始するには、RunWorkerAsyncを呼び出します。進行状況の更新の通知を受け取るには、ProgressChangedイベントを処理します。操作が完了したときに通知を受け取るには、RunWorkerCompletedイベントを処理します。
これは多くの経験を持っていない人にとって正当な質問であるため、私はこれを否定しました。 – siride