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
Was für ein Fensterframework benutzt du denn?
Also ich benutze Microsoft Visual C# 2010 und hab ne Windows-Forms-Anwendung erstellt wenn du das meinst mfg
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.
Okay versuch ich mal, danke dir, hast du vl gute Links wo das verständlich erklärt ist? mfg
Edit: Ja es ist auf Sizeable, aber trotzdem ist es bei mir am Bildschirm viel zu groß und steht über den Rand hinaus....
Mh, leider nicht. Auf die schnelle finde ich auch kein Tutorial zu dem Thema. Wenn du magst kannst ja mal einen Screenshot von deiner Form posten, dann kann ich dir ein paar Tipps geben...
Jop einen Moment, hier Posten oder dir direkt schicken?
das Problem wird wohl die default größe sein (Die von Designer). Entweder das Form erstmal kleiner machen oder wenn es immer bildschirmfüllend sein soll einfach die Auflösung abfragen und Size passend setzen.
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.
So Bild1 zeigt Mein Form1 nach dem Starten, Bild2 wenn ich den Maximieren-Button verwende! Bei meinem anderen PC( Auflösung 1600:900) ist recht und unten der gleiche Abstand bei den DIagrammen
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 ;-)
PS: Das ganze setzt natürlich voraus, dass dein Diagramm-Control skalierbar ist. Ist es doch, oder???
Okay danke dir, der Button ist eh nur zu Test-Zwecken gedacht, der kommt dann eh weg!
Phu muss ich gleich schauen, ich verwende ZedGraph wenn dir das was sagt.
Leider nicht, wird aber vermutlich passen. Ein Hinweis noch: Oben habe ich mich vertan. Den Abstand zwischen den Zellen des TableLayoutPanels bekommst du über die Margin-Eigenschaft der Objekte in den Zellen (also deiner Graphen). Das ganze sollte dann in etwa so wie im Bild aussehen.
Noch eine Frage: Kann ich die Form1 dann im Code über: this.Size = new Size(); irgendwie auf Maximum stellen? Bis jetzt steht da immer (1600,900) drinnen.
Florian W. schrieb: > this.Size = new Size(); irgendwie auf Maximum stellen? dafür gibt es eine Maximize als eigenschaft.
Danke dir, hab zwar Form1 noch auf 1600;900 gesetzt aber er passt es nun trotzdem an meinen Bildschirm an. Danke dir
Ähm kann ich mir jetzt auch eines dieser Diagramme wieder rausholen und das dann per Button ( Menüleiste ) über den ganzen Bildschirm anzeigen?
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...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.