Ich lese über SuspendLayout()
und ResumeLayout()
. Was ich nicht herausfinden kann ist, warum sollte ich das tun/benutzen. Ich weiß, dass Sie es verwenden, wenn Sie Steuerelemente zur Laufzeit einem Steuerelement-Container hinzufügen.C# Warum SuspendLayout() verwenden?
Es hat etwas mit der Einstellung Eigenschaften wie Dock
zu tun, Anchor
, Location
usw.
Aber ich verstehe nicht, was der zusätzliche Wert von Suspend- und ResumeLayout(). Wofür sorgen diese Methoden?
Ich verstehe immer noch nicht, was 'SuspendLayout()' tut. Ich meine, warum verwenden Sie SuspendLayout() 'Sie können diese Eigenschaften auch festlegen, ohne' SuspendLayout() 'zu verwenden. – Martijn
@Martijn: Ja, Sie können sie einstellen ... und das Layout-System wird Zeit verschwenden (und möglicherweise den Bildschirm hässlich aussehen lassen) das Layout ändern, während Sie die verschiedenen Eigenschaften einstellen - anstatt es * einmal * wenn Sie tun hab alles fertig gemacht. Angenommen, Sie haben ein kompliziertes Layout, das versucht, den Platz gleichmäßig zu verteilen, und Sie fügen 100 Elemente hinzu ... wollen Sie wirklich, dass der Speicherplatz nach dem Hinzufügen des ersten und nach dem Hinzufügen berechnet wird? die zweite hinzugefügt, dann nachdem du die dritte usw. hinzugefügt hast? –
Wie Jon Skeet schrieb: Wenn Sie Multipliziereigenschaften festlegen (oder mehrere Zeilen in einer Rasteransicht einfügen), wird der Bildschirm nicht für jede einzelne Änderung aktualisiert, sondern nur, wenn ResumeLayout aufgerufen wird. Spart die Leistung und das seltsame Bildschirmflimmern. –