2

多くのタブ(> 10)でtabControlを使用しており、各タブにはUserContolがあります。しかし、タブはアプリの起動時に各コントロールを初期化します。それは私のプログラムを遅くしすぎています。クリックしたときにのみuserControlを実行したい。これどうやってするの?

4

3 に答える 3

2

アクティブ化/可視化されるまでパフォーマンスを行わないように、UserControls を改善する必要があります。Activateタブが選択されたタブになったときにタブコントロールが呼び出すメソッドを提供します。

または、デザイナーで UserControls を TabPage コンテンツに追加できませんでした。代わりに、タブがアクティブになったときに UserControl を作成します。ただし、これにより、デザイナーで非表示になります。

于 2013-03-21T09:14:42.007 に答える
0

IsLoadedコントロールをロードせずに、タブが選択されるまでなどのマーカーを使用することもできます。次にタブを選択したときに、まだロードされていない場合は、コントロールをロードして、実行時にタブに追加できますControls

または、コントロールを追加しても、タブが選択されるまで何もしないでください。その後、各タブが計算などを実行し、正しいコントロールを更新します。

それはすべてあなたのデザインについてです。

于 2013-03-21T09:16:32.747 に答える