Hallo zusammen,
ich habe eine Anwendung, die so ziemlich auf einen 24"-Monitor (1920*1200) optimiert ist. Jetzt möchte ich diese jedoch auch zb auf einem 22"er anzeigen lassen können ohne das gesrollt werden muss. Leider bekomme ich hier keine vernünftige Skalierung hin.
Mein bestes Resultat war bisher:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if (Screen.PrimaryScreen.WorkingArea.Width != 1920 && Screen.PrimaryScreen.WorkingArea.Height != 1200) { float scaleX = ((float)Screen.PrimaryScreen.WorkingArea.Width / 1920); float scaleY = ((float)Screen.PrimaryScreen.WorkingArea.Height / 1200); SizeF aSf = new SizeF(scaleX, scaleY); this.Scale(aSf); } |
Das funktioniert so auch, jedoch werden diverse Elemente dann verschoben dargestellt und ich orientiere mich immer nur an dem Primärmonitor. Gibt es da eine elegante Art&Weise die Oberfläche zoombar zu gestallten? Ein weiteres Problem ist, dass ich dabei noch dynamisch Elemente auf der GUI platzieren muss. Diese sollten bei der Platzierung die original Koordinaten erhalten und dann entsprechend des aktuellen Zoom-Modus automatisch an die richtige Stelle gesetzt werden.
Habt ihr einen guten Ansatz wie man so etwas am besten gestaltet?
Vielen Dank
Määx