Hören Sie nicht auf diesen Idioten MusiGenesis. Eine bessere Möglichkeit, unterschiedliche Bildschirmauflösungen für Windows Mobile-Geräte zu handhaben, ist die Verwendung der Formularvererbung, die mit minimalem Aufwand auf eine vorhandene CF-Anwendung angeheftet werden kann.
Grundsätzlich entwerfen Sie jedes Formular für einen Standardbildschirm 240 x 320. Wenn Sie ein Formular für eine neue Auflösung neu ordnen müssen (sich 240x240 sagen), können Sie ein neues Formular zu Ihrem Projekt hinzufügen und haben Sie es von Ihrer ursprünglichen 240x320 Form erbt:
public partial class frmDialog240x240: frmDialog
statt nur Form:
public partial class frmDialog240x240: Form
wie üblich. Auf Ihrem ursprünglichen Formular müssen Sie die Modifiers-Eigenschaft jedes Steuerelements auf Protected (statt der Standard Privat) festlegen. Im Designer für Ihr neues Formular sehen Sie alle Steuerelemente des Formulars, von dem Sie übernommen haben, und Sie können sie verschieben und deren Größe ändern, um den neuen Bildschirmdimensionen gerecht zu werden (dies wirkt sich nicht auf das ursprüngliche Formular aus) Layout).
Wenn Ihr Programm läuft, ist es einfach, die Bildschirmauflösung des Geräts, auf dem es läuft, zu überprüfen und das entsprechende Formular zu erstellen (eine Factory-Methode ist dafür geeignet). Ihr neues Formular erbt alles vom alten Formular, verwendet jedoch Ihr neues benutzerdefiniertes Layout.
Dieser Ansatz ermöglicht es Ihnen, Code-Duplizierung zu vermeiden, weil es keine gibt.
Ich versuchte den Vererbungsansatz und kam nicht sehr weit, hauptsächlich wegen Problemen mit dem Designer. Ich griff zum Andocken und bekam ordentliche Ergebnisse. – cdonner
@cdonner: haben Sie die Modifiers-Eigenschaft jedes Steuerelements im übergeordneten Formular auf Geschützt (statt Privat) festgelegt? Das ist der Schlüssel, damit der Designer richtig funktioniert. – MusiGenesis