C# winform-dynamic-control-sizing
Ich möchte, dass meine winform-app steuert werden, an einem bestimmten Ort und einer bestimmten Größe, egal welche Bildschirmauflösung der Nutzer verwendet.
Könnte mir jemand ein kurzes Beispiel dafür, wie die Form ein panel zu starten, bei 60% nach unten auf dem Bildschirm, um 100% nach unten auf dem Bildschirm, und die volle Länge des Bildschirms?
Ich hoffe, das Sinn machte, also im Grunde egal, was die Bildschirm-Auflösung ist, wird das Gremium bis 40% der winform-ab 60% nach unten auf die app.
Dank!
Ich die gleiche % - egal ob die Auflösung ist 800X600, 1024X760 oder.
Haben Sie versucht, einen Blick auf TableLayoutPanel?
ein panel unter 40% einer form, oder eine form unter 40% des Bildschirms?
panel unter 40%
ein panel unter 40% einer form, oder eine form unter 40% des Bildschirms?
panel unter 40%
InformationsquelleAutor | 2011-07-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie SplitContainer, das teilt die form in zwei Bereiche. Wenn Sie es ändern, ist die Orientierung auf horizontale, erhalten Sie 2 Bereiche, die beginnt oben auf dem Bildschirm, und die zweite auf der anderen Seite. Nun können Sie festlegen, minimale Größen der einzelnen panel:
Dies macht die top-panel nehmen 60% der client-Bereich und die unteren 40%. Es wird automatisch starten Sie 60% nach unten auf die form. Dann können Sie jede andere Kontrolle, die Sie wollen in das panel und dock es auf der Palette mit
Control.Dock = DockStyle.(something)
Den anderen Weg, wie ändern Sie die position eines Steuerelements ist im Grunde berechnen Sie die position und Größe. Sie können die Breite des client-Bereichs als
Form.ClientSize.Width
und Beginn X -, Y-position des 60% nach unten auf der app:Jetzt können Sie die Größe des Steuerelements und der position als:
Also, wenn Sie möchten, um Kraft zum Beispiel
label1
imForm1
zu handeln, wie Sie schrieb in Ihrem post, eine Möglichkeit wäre diese:InformationsquelleAutor TomsonTom
Die form zu halten die gleiche Größe (in Pixel), wie Sie ihn entworfen haben, legen Sie die AutoSize-Eigenschaft auf false festgelegt, wird die Eigenschaft AutoScaleMode Keine, und verwenden Sie eine der 'Fixed' - Optionen in den FormBorderStyle. Sollte dies unterdrückt alle versuche, die vom system oder vom Benutzer zu chnage die Größe der form. Das heißt, es werden die samesize (in Pixel), aber das mag Sie größer oder kleiner auf verschiedenen Bildschirm-Auflösungen.
Wenn Sie möchten, dass das Formular bleiben die "gleiche Größe" relativ zum Bildschirm, dann müssen Sie es lassen, skalierbar und Lesen Sie die Bildschirmgröße auf Start-und legen Sie die Position und Größe Eigenschaften der form, so dass es verwendet die relative Fläche des Bildschirms, die Sie wünschen.
InformationsquelleAutor Jason Williams
Können Sie die Verwendung einer statischen Klasse namens
Screen
ist in derSystem.Windows.Forms
.Einfach die panel-Breite und Höhe wie folgt:
dem Sie festlegen können, oben in deinem panel durch dieses Objekt-Eigenschaften. Aber ich habe zu bemerken, dass, wenn Sie Ihr panel in einer anderen form, die Top & Links Eigenschaften es sind, die relativ zu mit form offensichtlich.
InformationsquelleAutor alisabzevari