2016-10-27 4 views
0

Ist es möglich, die Größe von Winform zu ändern und dann entsprechend auch alle Objekte auf diesem Formular zu ändern?Objektgröße abhängig von der Fenstergröße?

Zum Beispiel habe ich winform, wo ich einige datagridview, Textfelder & Etiketten platziert. Das Fenster ist zum Beispiel 800x600. Und dann sagen wir, er hat MaximizeBox gedrückt und winform wird die Größe auf 1600x900 ändern, ich möchte dann alle Objekte entsprechend dieser Änderung vergrößern. Ich möchte nicht verkleinern, so dass der Benutzer die Größe nicht unter 800x600 ändern kann.

Meine Frage ist, ob das überhaupt skalierbar ist?

+0

Haben Sie den Text in den Kontrollen wollen skalieren oder Anwählen der Kontrollen an die Fenstergröße? –

+0

Sie können die Eigenschaften "Anker" und "Dock" von Controls verwenden. Aber ich empfehle stattdessen, WPF zu verwenden. Überprüfen Sie hier http://StackOverflow.com/A/30775012/2946329 –

+1

Werfen Sie einen Blick darauf, wie andere Programme damit umgehen. Keiner von ihnen hat jemals seinen Text größer gemacht, darum hat der Benutzer nicht gebeten, als er das Fenster maximiert hat. Das DataGridView größer zu machen ist jedoch sinnvoll, er kann mehr Zeilen auf diese Weise sehen, viele Möglichkeiten, dies in WinForms zu tun. Fangen Sie mit einer Skizze an, wie Ihre Benutzeroberfläche bei verschiedenen Fenstergrößen aussehen sollte, und denken Sie nicht, dass dies eine Frage wie diese ist. Ansonsten einfach zu ändern, ändern Sie einfach die Schrift Eigenschaft des Formulars und die AutoScaleMode Sanitär des Formulars wird die Aufgabe erledigt. –

Antwort

0

Jeder control hat eine Anchor Eigenschaft, die eingestellt werden können, die Form der Größe top, bottom, left und right zu folgen.

https://msdn.microsoft.com/en-us/library/8y52cxte(v=vs.110).aspx

Forms haben auch eine minimum height und minimum width Eigenschaft, dass Sie die Mindestgröße des form beschränken helfen.

Sie können es über den Designer tun oder über Code wie folgt:

this.MinimumSize = new Size(800, 600); 
+0

Danke Ted. Ich weiß, dass ich eine minimale Größe einstellen kann, ich füge einfach Informationen über das Herunterfallen hinzu, dass ich nicht herunterskalieren muss. Über Anker ist es nur zum Verankern und es ändert sich nicht Größe, habe ich recht? – Vasquez21

+1

@ Vasquez21 - Nein, du bist nicht.Verankerung ändert auch die Kontrolle, wenn Sie es richtig machen – Ted

+0

@ Vasquez21 - Nehmen wir an, Sie haben eine 'TextBox' oben links von der' Form'. Wenn Sie 'Anchor' auf' Left', 'Top' und' Right' setzen, wird die 'TextBox' länger, wenn die' Form' maximiert ist. Je nach Anzahl der Steuerelemente in Ihrem Formular müssen Sie möglicherweise experimentieren, um die richtige Kombination von Ankern zu finden, sodass sich Ihre Steuerelemente nicht überschneiden. – Ted

Verwandte Themen