2010-11-15 6 views
4

J'ai une application Windows Forms construite avec .NET 3.5 et une version relativement ancienne des contrôles Infragistics. Il s'avère que certaines des formes/contrôles semblent assez médiocres lorsqu'ils sont affichés dans Windows7 et Medium ou Large Fonts. Quelles sont mes options pour résoudre ce problème? J'ai quelques dizaines de formulaires et je voudrais une solution à court terme plutôt qu'une réécriture, car l'application sera migrée vers WPF ou Silverlight à moyen terme.Que faire avec une application winforms qui semble médiocre avec les polices moyennes/grandes activées sur Windows 7?

Existe-t-il un commutateur que je peux «désactiver» les polices moyennes/grandes pour l'application comme solution immédiate?

Quels sont les principes généraux à suivre pour que les applications WinForms s'affichent correctement avec les polices moyennes/grandes activées?

Répondre

3

Jusqu'à présent, les principales choses que j'ai trouvé que je devais faire sont:

  • formes/contrôles de changement si AutoScaleMode est réglé sur Font

  • Modifier toute forme avec Redimensionnement programmatique afin qu'ils » re dépend de la taille ou de la position des autres contrôles, plutôt que des nombres codés en dur qui sont corrects si les polices sont définies sur une taille normale.

À part cela, la plupart du temps fonctionnent comme vous le souhaitez. La plupart. Toujours l'étrange chose étrange à traquer.

+0

Si vous modifiez le 'AutoScaleMode' du formulaire en" Font ", tous les contrôles qu'il contient doivent automatiquement hériter de la valeur de cette propriété. C'est la meilleure réponse que j'aurais pu donner à votre question sans savoir quels sont les autres problèmes que vous rencontrez. –

0

+1 sur la suggestion AutoScaleMode.

J'ai redessiné tous les formulaires dans TableLayoutPanels (il a fallu des âges) et a mis toutes mes étiquettes à AutoResize = True. TableLayouts enlève la plus grande partie de la douleur. La mise à l'échelle et l'alignement sont un jeu d'enfant, bien qu'ils soient plutôt lents comparés à WPF.