Formgröße ändern
-
Hallo,
ich würde gerne die größe einer Form ändern. Momentan mache ich dies so:
this.ClientSize = new Size(640, 480);
Problem: Die Größe danach stimmt nicht mit den Parametern überein, wenn ich dann mal die Fenstergröße ausgeben lasse erhalte ich:
Width : 646
Height: 512Hab schon versucht die Größe so zu setzen
this.Size.Height = 640;
Allerdings lässt sich das nicht compilieren weil Height keine Variable sei.
Wei jemand wie's geht?
-
Hallo Delryn@home !
Die Größenangaben sind schon richtig. Das einzige was Du bedenken musst ist, dass 'this.ClientSize' sich auf den "inneren" Formbereich bezieht - also ohne Einberechnung des äußeren Rahmens der Form. Dies kannst Du ganz einfach überprüfen indem Du unter z. B. SharpDevelop eine Form auf die Größe 200, 200 setzt. Im 'Windows Forms Designer generated code' steht dann folgender Code :
this.ClientSize = new System.Drawing.Size(192, 166);
Wie Du siehst wurde unter Windows XP 8 Pixel für den rechten und linken Rand, sowie 34 Pixel für den oberen und unteren Rand abgezogen.
Um aber auf die gesamte Größe der Form zugreifen zu können, musst Du wie folgt vorgehen :
public MainForm() { InitializeComponent(); this.Size = new Size(300, 300); }
Die Properties Width und Height für Form.Size sind nur zum Auslesen gedacht und können nicht beschrieben werden !
Gruß Ernst
-
Super, vielen Dank