私のアプリは 3 つのタブで構成され、各タブには DGV があり、タブ 1 と 2 には DGV 内にそれほど多くのデータが含まれていませんが、タブ 3 では 100 ~ 5000 行になる可能性があります
私が抱えている問題は、アプリを起動してタブ3に移動すると、何かが表示されるまでに時間がかかることです..
データが DGV に追加されている間に、読み込みフォームをユーザーに表示する方法を探しています。
どうすればこのようなことを達成できますか?
私のアプリは 3 つのタブで構成され、各タブには DGV があり、タブ 1 と 2 には DGV 内にそれほど多くのデータが含まれていませんが、タブ 3 では 100 ~ 5000 行になる可能性があります
私が抱えている問題は、アプリを起動してタブ3に移動すると、何かが表示されるまでに時間がかかることです..
データが DGV に追加されている間に、読み込みフォームをユーザーに表示する方法を探しています。
どうすればこのようなことを達成できますか?
バックグラウンドスレッドでデータの読み込みを開始し、進行状況を監視します(進行状況バーとして表示されます)。メインスレッドで実行している場合は、インターフェイスをハングアップします。
長時間実行される操作は、別のワーカー スレッド (通常はBackgroundWorkerクラス) で実行する必要があります。これにより、操作中に UI がロックされるのを防ぎます。このスレッドの実行中に読み込みダイアログを表示することもできます。
ここでの他の答えは正しいです。しかし、読み込みウィンドウについて具体的に質問されたので、Code Projectの非常に良い例を思い出しました。
私が関わったプロジェクトでは、この例を取り上げて独立させました。Start と Stop という静的メソッドを追加し、Start メソッドはスレッドを作成してからウィンドウをロードし、Stop メソッドはフォームを適切に閉じる必要があることを通知しました。
お役に立てれば!