【解決方法】Vb – タブページの変更時にロード画面を表示するにはどうすればよいですか


こんにちは、私はタブストリップ コントロールを使用しています。ページの 1 つに、ネットワーク ソースからの PDF ファイルのリストとそれらを表示する Web コントロールを含むコンボボックスがあります。
ユーザーがこのタブに変更するかどうかは不明です。そのため、ロードイベントでこれを行うことでフォームの表示が遅くならないように、このタブの最初の選択部分にのみファイルのリストをロードしています。 問題は、ファイルが大量にあり、それらをロードするのに数秒かかることです。 その間、ファイルがロード中であることを示すメッセージを表示したいと思います。

私が試したこと:

選択イベントを使用しようとしましたが、描画のあるタブページをクリックすると、読み込みサブルーチンを起動します。 ロードサブルーチンを起動する前に、「Loading..」というテキストのラベルを表示しようとしましたが、確認したところ、タブの最初の表示時にタブページコントロールが作成されます。 その結果、タブストリップがバックグラウンドにハングするため、ラベルは表示されず、コンボボックスにデータをロードした後、ラベルが表示されるようになります。

If e.TabPageIndex = 7 Then
            lbl_drawings_loading.Visible = True
            drawings_refresh()
            lbl_drawings_loading.Visible = False
End If

解決策 1

読み込みポップアップの代わりに、リストを読み込むための別のタスクまたはマルチスレッドを試してみます。
VB.NET によるマルチスレッド – 初心者向けの選択[^]
タスク/継続とスレッドプールの消滅?[^]

コメント

タイトルとURLをコピーしました