2009-08-20 151 views
1

私はC#Windows Formsアプリケーションを持っています。TabControl追加が非常に遅い

私はTabControlを持っており、ユーザーの設定に応じてTabControl.Controls.Addを動的に使用して、特定のTabPagesのセットをタブに追加します。 TabPagesは特別なものではなく、ボタンとテキストだけです。

これを動的に実行すると、少量のタブであっても、地獄のように遅くなります。すべての「Add」コール、または「AddRange」を使用して一度にバンチを追加すると、半分ほど待つことになります。

SuspendLayoutは効果がありません。

提案がありますか?

+1

私はこのタイプのことを何度もやり遂げてきましたが、パフォーマンス上の問題は一度も起こりませんでした。あなたは小さなコードのサンプルと投稿にこの動作を分離することはできますか? –

答えて

1

Addコントロールではなく、コントロールの1つにPropertyGridがあり、Form_LoadがSelectedObjectを設定しています。これは低速な操作です。

PropertyGridが遅いのは異なる質問です!

0

お試しくださいtabcontrol.Enabled = Falseを入力してから、Trueを入力してください。