Entwickler-Ecke

WinForms - Panel Größe während Laufzeit ändern


chip777 - Do 06.05.10 09:50
Titel: Panel Größe während Laufzeit ändern
Hi,

ich würde gerne ein Panel während der Laufzeit in seiner Größe verändern.

Ich hab folgendes versucht:


C#-Quelltext
1:
panelZeitachse.Size.Width = 391;                    


Dabei erhalte ich folgenden Fehler: "Der Rückgabewert "System.Windows.Forms.Control.Size" kann nicht geändert werden, da er keine Variable ist."

Muss ich da vorher noch etwas in den Eigenschaften des Controls einstellen?

Gruß

Martin


danielf - Do 06.05.10 10:20

Was die Fehlermeldung sagen will ist, dass .. hmm.. verstehe sie nicht ;)

Naja.. auf jeden Fall hat mir meine Erfahrung gelernt, dass ich die Size Eigenschaften nicht so Ändern kann, sondern dass ich pangelZeitachse.Size = new Size(...); machen muss.

Vlt. kann uns jemand hier ja eine Erläuterung geben oder sagen wie es korrekt wäre.


jaenicke - Do 06.05.10 10:30

Ganz einfach: Du bekommst einen kopierten Size-Wert zurück, wenn du auf die Eigenschaft Size zugreifst. Heißt: Wenn du daran etwas änderst, dann tust du das nicht an dem originalen Wert, sondern an der zurückgelieferten Kopie. Wenn du die also in eine Variable abspeicherst, kannst du die auch verändern und dann wieder an Size zuweisen.

Du kannst also entweder mit new Size() arbeiten oder einfach Width und Height des Controls selbst direkt setzen (panelZeitachse.Width = 391;).


chip777 - Do 06.05.10 10:37

Danke für die Hilfe, jetzt klappt es.