2009-08-20 10 views
1

J'ai une application C# Windows Forms.TabControl Ajouter est très lent

J'ai un TabControl sur elle, et en fonction des paramètres utilisateur, dynamiquement utiliser TabControl.Controls.Add pour ajouter un ensemble spécifique de TabPages aux onglets. Les TabPages ne sont pas spéciaux, ils ont juste des boutons et du texte.

Faire ceci dynamiquement, même pour une petite quantité d'onglets, est lent comme l'enfer. Chaque appel "Add", ou en utilisant "AddRange" pour ajouter un groupe à la fois se traduit par une demi-seconde d'attente.

SuspendLayout n'a aucun effet.

Des suggestions?

+1

J'ai fait ce genre de chose plusieurs fois et je n'ai jamais rencontré de problème de performance. Pouvez-vous isoler ce comportement à un petit échantillon de code et poster? –

Répondre

1

Ce n'était pas le contrôle d'ajout, c'était celui que mon contrôle a un PropertyGrid sur lui, et le Form_Load définit le SelectedObject, qui est l'opération lente. PropertyGrid étant lent est une question différente!

0

Essayez tabcontrol.Enabled = False lorsque vous ajoutez, puis True lorsque vous avez terminé.

Questions connexes