C#: Form1 für unterschiedliche Auflösungen anpassen

#2999621
Lesenswert?

Hallo,
Habe mithilfe von C# eine graphische Oberfläche und ein kleines Programm 
programmiert. Da ich eine AUflösung von 1600:900 habe, habe ich alles 
für diese Auflösung programmiert.
Nun hab ich aber auf meinem 2t PC ne kleiner Auflösung und das Fenster 
steht nun rechts aus meinem Bildschirm raus.

Weis zufällig jemand wie ich das Programmtechnisch so machen kann das es 
überall passt?

mfg
florian
Gast #2999659
Lesenswert?

OK, also Winforms und nicht WPF.

Eigentlich ist die Sache ganz einfach: mache deine Form skalierbar, 
indem du im Designer den FormBorderStype auf Sizable stellst (sollte per 
default schon so sein). Nun kannst du das fenster belibig skalieren.

Vermutlich machen nun aber deine Controls noch nicht so richtig mit, da 
diese fiy positioniert sind. Hier helfen Container (Flow Layout Panel, 
SplitContainer, tableLayoutPanel etc.). Zusätzlich solltest du die Dock 
und Anchor Eigenschaften deiner Controls richtig einstellen.

Wenn du damit durch bist sollten sich alle Controls beim Skalieren der 
Form korrekt anpassen.
Gast #2999685
Lesenswert?

Florian W. schrieb:
> Edit:
> Ja es ist auf Sizeable, aber trotzdem ist es bei mir am Bildschirm viel
> zu groß und steht über den Rand hinaus....

Die Form hat zunächst mal die Größe, die du im Designer verwendet hast. 
Wenn du das umgehen willst kannst du z.B. den WindowState auf maximized 
stellen.
Beim Start passt sich die Form dann in den Bildschirm ein.
Gast #2999704
Lesenswert?

OK, da bietet sich wohl ein TableLayoutPanel mit 4 Zellen (zwei Zeilen 
und zwei Spalten an). Das ziehst du schön groß und setzt die Anchor 
Property auf alle vier Seiten.

In jede Zelle packst du dann eins deiner Diagramme. Hier verwendest du 
den DockStyle Fill, so dass das Diagramm die zelle ausfüllt.

Zusätzlich kannst du noch Abstände im TableLayoutPanel definieren, so 
dass es nicht ganz so gedrungen aussieht.

Den Button in der Mitte würde ich rausnehmen, und z.B. unten rechts 
platzieren (Buttons in der Mitte sind auch eher unüblich ;-)
Hier kannst du dann das Anchoring von TopLeft auf BottomRight umstellen, 
so dass der Button auch immer schön unten rechts bleibt.

Ist jetzt nur mal so ein grober Vorschlag, damit du siehst in welche 
Richtung sowas geht ;-)
Gast #2999922
Lesenswert?

Auch das ist kein Problem :-)
Zugriff auf das Control hast du ja, denn das ist einfach nur ein Member 
deiner Form (Name wird ja über den Designer vergeben).
Im Prinzip kannst du damit anstellen was du willst (z.B. aus dem 
Table-Panel entfernen und sonst wo platzieren).

Wie du das jetzt am geschicktesten machst musst du natürlich selber 
wissen (du könntest z.B. auch ein neues Fenster aufmachen, eine Tab view 
verwenden oder sonst was). Am besten überlegst du mal wie andere 
Programme, die deinem ähnlich sind sowas von der Bedienung her gelöst 
haben...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren