2009-08-20 19 views
1

Ich habe eine C# Windows Forms App.TabControl Hinzufügen ist sehr langsam

Ich habe ein TabControl darauf und wird abhängig von den Benutzereinstellungen dynamisch TabControl.Controls.Add verwenden, um eine bestimmte Gruppe von TabPages zu den Registerkarten hinzuzufügen. Die TabPages sind nicht besonders, sie haben nur Buttons und Text.

Dynamisch, sogar für kleine Mengen von Tabs, ist langsam wie die Hölle. Jeder "Add" -Aufruf oder die Verwendung von "AddRange", um ein Bündel auf einmal hinzuzufügen, führt zu einer Wartezeit von etwa einer halben Sekunde.

SuspendLayout hat keine Wirkung.

Irgendwelche Vorschläge?

+1

Ich habe diese Art von Sache viele Male gemacht und nie ein Leistungsproblem getroffen. Können Sie dieses Verhalten auf ein kleines Codebeispiel isolieren und posten? –

Antwort

1

Es war nicht das Add-Steuerelement, es war eines, dass eine meiner Kontrolle ein PropertyGrid darauf hat, und die Form_Load setzt das SelectedObject, was die langsame Operation ist.

PropertyGrid ist langsam ist eine andere Frage!

0

Versuchen Sie tabcontrol.Enabled = False, während Sie hinzufügen, dann True, wenn Sie fertig sind.