.net 自动缩放模式DPI和打印对话框
启用应用程序使用AutoScaleMode=DPI后,当我们以大于96的DPI显示PrintDialog时,我们遇到了一个奇怪的问题。显示PrintDialog后,已显示的某些控件上的文本大小将超过已缩放的大小。在之后打开的窗体上,控件可以正确缩放,但字体会恢复到96 DPI的大小.net 自动缩放模式DPI和打印对话框,.net,printdialog,autoscalemode,.net,Printdialog,Autoscalemode,启用应用程序使用AutoScaleMode=DPI后,当我们以大于96的DPI显示PrintDialog时,我们遇到了一个奇怪的问题。显示PrintDialog后,已显示的某些控件上的文本大小将超过已缩放的大小。在之后打开的窗体上,控件可以正确缩放,但字体会恢复到96 DPI的大小 当然,其他人一定在使用这种组合,有人知道是什么导致了这种情况吗?如果有解决方案的话?看起来这个错误只出现在Windows Vista上,而在我们的Windows 7 64位计算机上,这不是问题 在Vista上,32位
当然,其他人一定在使用这种组合,有人知道是什么导致了这种情况吗?如果有解决方案的话?看起来这个错误只出现在Windows Vista上,而在我们的Windows 7 64位计算机上,这不是问题 在Vista上,32位设置
oDialog.UseEXDialog=false代码>似乎解决了这个问题;但是在查看reflector中的PrintDialog代码后,看起来这只适用于32位版本,而不能解决64位Vista机器上的问题
看起来我们只是将DPI扩展的支持限制在Windows 7或更高版本上。我怀疑您是否会让任何人意识到这个问题。AutoScaleMode=字体是大多数表单的正确设置。您总是关心控件内的文本拟合。