2010-01-20 4 views
2

Nous avons une application MDI Winform, il y a beaucoup de formulaires/boîtes de dialogue. Certains sont disposés avec un emplacement et des dimensions absolus, certains sont disposés à l'aide de panneaux de table/flux.Mise en page d'application Winform - traitant des différentes pratiques DPI

L'aspect général a semblé bon sous différentes résolutions d'écran. Jusqu'à ce que quelqu'un l'ait testé sur une machine où le DPI était réglé à 120. Alors que la plupart du temps les choses semblaient bonnes, certaines commandes étaient détraquées, chevauchant d'autres contrôles, des pièces qui avaient l'ancre = Right/Top ne collait pas au à droite, etc.

Quelles sont les pratiques de développement d'applications winform qui «fonctionnent» sous différents DPI?

Existe-t-il des raccourcis permettant aux développeurs de tester l'application sous différents DPI?

+0

ha, ignorez la réponse que j'ai posté, si vous l'avez dans le courrier électronique, il a été conçu pour un thread différent lol. –

Répondre

0

Dans le cas où quelqu'un d'autre trouve cette question encore sans réponse. J'ai trouvé cela aujourd'hui, et après une recherche, le meilleur que j'ai trouvé est de passer AutoScaleMode sur tous les contrôles à Hériter (Rechercher et remplacer pour les fichiers de concepteur), puis après le InitializeComponent généré (probablement juste après ResumeLayout), Set AutoScaleMode à Font (ou None ... ou Inherit). La déclaration commune de définir AutoScaleMode à DPI sur tout n'a pas fonctionné, et a échoué plus spectaculairement que toute autre chose. D'après ce que j'ai trouvé, il semble que WPF corrige la plupart/tout cela en l'intégrant dans le framework. Cela n'aide pas pour les anciennes winforms.