Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 自动缩放模式DPI和打印对话框_.net_Printdialog_Autoscalemode - Fatal编程技术网

.net 自动缩放模式DPI和打印对话框

.net 自动缩放模式DPI和打印对话框,.net,printdialog,autoscalemode,.net,Printdialog,Autoscalemode,启用应用程序使用AutoScaleMode=DPI后,当我们以大于96的DPI显示PrintDialog时,我们遇到了一个奇怪的问题。显示PrintDialog后,已显示的某些控件上的文本大小将超过已缩放的大小。在之后打开的窗体上,控件可以正确缩放,但字体会恢复到96 DPI的大小 当然,其他人一定在使用这种组合,有人知道是什么导致了这种情况吗?如果有解决方案的话?看起来这个错误只出现在Windows Vista上,而在我们的Windows 7 64位计算机上,这不是问题 在Vista上,32位

启用应用程序使用AutoScaleMode=DPI后,当我们以大于96的DPI显示PrintDialog时,我们遇到了一个奇怪的问题。显示PrintDialog后,已显示的某些控件上的文本大小将超过已缩放的大小。在之后打开的窗体上,控件可以正确缩放,但字体会恢复到96 DPI的大小


当然,其他人一定在使用这种组合,有人知道是什么导致了这种情况吗?如果有解决方案的话?

看起来这个错误只出现在Windows Vista上,而在我们的Windows 7 64位计算机上,这不是问题

在Vista上,32位设置
oDialog.UseEXDialog=false似乎解决了这个问题;但是在查看reflector中的PrintDialog代码后,看起来这只适用于32位版本,而不能解决64位Vista机器上的问题


看起来我们只是将DPI扩展的支持限制在Windows 7或更高版本上。

我怀疑您是否会让任何人意识到这个问题。AutoScaleMode=字体是大多数表单的正确设置。您总是关心控件内的文本拟合。