AW: Frage bzgl. Auflösung
Nun, die Position der Controls kann mit Anchor oder Dock im Form Designer festgesetzt werden. Damit erreicht man, dass z.B. eine Liste von links nach rechts gestreckt wird (Anchor = Left + Right setzen). Oder ein Button fix in der unteren, rechten Ecke bleibt (Anchor = Right + Bottom setzen).
Eine Form hat noch das Member AutoScaleMode (default ist Dpi), das angibt, wie die Form skaliert werden soll. Dieses Member kann man auf None setzen, um das Skalieren auszuschalten.
Generell wird das Ganze aufwändig. Eine Möglichkeit wäre, die Form in den verschiedenen Auflösungen im VisualStudio zu designen, sich den Code des Layouts, den VisualStudio erstellt zu kopieren und dann zur Laufzeit das entsprechende Layout zu setzen. Das ist z.B. eine Lösung, um Portrait/Landscape zu unterstützen, da diese verschiedene Layouts erfordern.
Die verschiedenen Emulatoren sind sehr praktisch, um die Applikation in verschiedenen Auflösungen zu testen. Grundsätzlich brauche ich den QVGA Emulator, da der von der Grösse her am wenigsten Platz braucht. Nach grösseren Änderungen im UI erfolgt dann kurz ein Test in (W)VGA.
AW: Frage bzgl. Auflösung
Ah ok danke schonmal.
Aber die konkrete Auflösung kann ich jetzt für mein Handy nicht rausbekommen? Weil wie gesagt 480x800 wird nur mit scrollbars dargestellt.
AW: Frage bzgl. Auflösung
Die aktuelle Grösse einer Form kann man mit den Methoden ClientSize oder ClientRectangle erhalten.
Ob man ein Gerät mit grosser (VGA, WVGA) oder kleiner (z.B. QVGA) Auflösung hat, kann mit folgender Methode ermittelt werden:
Code:
public static bool IsHighResolution(Form form)
{
return form.CurrentAutoScaleDimensions.Height == 192;
}
CurrentAutoScaleDimensions