3

親の TabPage が選択されるまで、TabControl の UserControls が読み込まれないことを発見しました。この遅延読み込みを防ぐ方法はありますか? メイン フォームの読み込み時に UserControls を初期化する必要があります。

4

3 に答える 3

2

はそのTabControlコントロールを特別に扱いません。実際、コントロールが初めて表示される直前にのLoadイベントが発生するのは、すべての状況で正常です。UserControlTabPageコントロールを表示する責任があるため、最初に選択されたときにのみ「ロード」されます。

この (完全に正常な) Windows フォームの動作を克服するには、初期化コードを別のメソッドに移動して、ロード時に呼び出すか、初期化コードをのコンストラクターにForm配置するだけで済みます。UserControlどちらの方法でも、すぐに初期化を実行できます。

于 2010-11-09T10:32:08.810 に答える
1

フォームの Load イベント ハンドラーで、タブに対して Tabcontrol の SelectTab() メソッドを呼び出すことができます。

于 2012-05-08T17:27:50.727 に答える
0

あなたが説明するこのデフォルトの動作を実現する方法を探していました。私がサポートしているアプリケーションは、タブの読み込みを遅らせていませんでした。コンストラクターではなく、load イベントでタブが初期化されていたことが判明しました。

したがって、フォーム ロード イベントでタブをタブ コントロールに追加すると、タブ内のすべてのコントロールで、TabPages.AddRange 呼び出しの一部としてロード イベントが発生します。

于 2012-02-12T07:55:51.860 に答える