Autor Beitrag
chip777
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 127

Win 7 Prof
C# VS 2008
BeitragVerfasst: Do 06.05.10 09:50 
Hi,

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

Ich hab folgendes versucht:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 127

Win 7 Prof
C# VS 2008
BeitragVerfasst: Do 06.05.10 10:37 
Danke für die Hilfe, jetzt klappt es.