2010-12-10 15 views
0

Après avoir activé notre application pour utiliser AutoScaleMode = DPI, nous obtenons un problème étrange lorsque nous affichons le PrintDialog à un DPI supérieur à 96. Après que le PrintDialog a été montré, la taille du texte sur certains contrôles déjà affichés est augmenté par rapport à la taille déjà mise à l'échelle. Sur les formulaires qui sont ouverts après, les contrôles sont mis à l'échelle correctement, mais la police est à la taille de 96 DPI.AutoScaleMode DPI et le PrintDialog

D'autres personnes doivent sûrement utiliser cette combinaison, est-ce que quelqu'un sait ce qui pourrait en être la cause et s'il existe une solution?

+0

Je doute que tout le monde reconnaîtra ce problème. AutoScaleMode = La police est le paramètre approprié pour la plupart des formulaires. Vous vous souciez toujours de l'ajustement du texte à l'intérieur du contrôle. –

Répondre

0

Il semble que ce bogue soit uniquement présent sur Windows Vista comme sur nos machines Windows 7 64 bits. Ce problème ne se pose pas.

Sur Vista 32 bits réglage oDialog.UseEXDialog = false; semble résoudre le problème; mais après avoir regardé le code PrintDialog dans le réflecteur, il semble que cela ne fonctionne que pour la version 32 bits et ne résoudrait pas le problème sur une machine Vista 64 bits.

Il semble que nous allons limiter la prise en charge de la mise à l'échelle DPI à Windows 7 ou plus récent.