Windows Forms und TableLayoutPanel langsam

23/07/2008 - 07:49 von Martin Horst | Report spam
Hi,

ich habe in einer Form ein TableLayoutPanel eingbaut. Darin liegen zwei
ListBoxen, 6 Buttons und 2 Label. Das ganze liegt dann noch in einer
TabPage. Wenn ich nun die Größe des Dialogs veràndere, dann verhàlt sich
das ganze wie Kaugummi. Ich habe hier in der Firma eine Radeon X1300,
einen Pentium D 3,4Ghz und 2GB Speicher. Also an der Hardware kann es ja
eigentlich nicht liegen. Ist das normal oder kann man da noch was pimpen!?

Danke
Martin
 

Lesen sie die antworten

#1 Frank Dzaebel
23/07/2008 - 09:44 | Warnen spam
Hallo Martin,

ich habe in einer Form ein TableLayoutPanel eingbaut. Darin liegen zwei
ListBoxen, 6 Buttons und 2 Label. Das ganze liegt dann noch in einer
TabPage. Wenn ich nun die Größe des Dialogs veràndere, dann verhàlt sich
das ganze wie Kaugummi.



wurde schon schon öfters berichtet:
http://www.google.de/search?q=Table...nel%20slow

hat aber letztlich mit der Platzierung und Grösse
der inneren Controls im Panel zu tun.
Seitens Microsoft auch:

"this is a known issue about TableLayoutPanel control
and the recommended workaround is to make sure that
the TableLayoutPanel contains the controls entirely."

Beachte weiterhin:

"Nach Möglichkeit sollten Sie keine anderen TableLayoutPanel-
Steuerelemente in einem TableLayoutPanel-Steuerelement
verschachteln."

"Wenn der entsprechende Platz zur Verfügung steht, um den Text
durch Verankerung um 30 % zu vergrößern, sollten Sie in Erwàgung
ziehen, die Anchor-Eigenschaft zu verwenden."

[Empfohlene Vorgehensweisen für das TableLayoutPanel-Steuerelement]
http://msdn.microsoft.com/de-de/lib...71689.aspx


Man kann das ggf. auch optimieren und dadurch
Performance gewinnen:

tableLayoutPanel1.SuspendLayout();
//Verschieben/Zufügen/Löschen der Controls, etc.
tableLayoutPanel1.ResumeLayout(true);

Man muss auch beachten, dass das Control eine
komplett alle intern Controls neu rendern und berechnen
muss. In einigen Fàllen hat das langsame Verhalten
auch an Hintergrund-Bildern gelegen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen