我使用.NET 3.5在C#中实现了一个Windows(XP / Vista / 7)应用程序,我在少数Windows XP机器上有一个奇怪的调整大小问题(我自己无法重现这个问题) 。
应用程序使用System.Windows.Forms.Form和System.Windows.Forms.Panel来保存子视图。每个子视图本身都是一个System.Windows.Forms.Form。在初始化期间,每个子视图都被添加到面板(panel.Controls.Add(子视图)),并且控制器通过使用每个子视图的Hide和Show-methods来选择子视图。
图1显示了应用程序的正常外观。面板是可爱的水滴背景图像的一部分。
但是在某些Windows XP机器上,应用程序看起来像图2.整个应用程序已经调整大小(因为我有静态的Max / Min属性,因此本身很奇怪)并且面板更大(并且略有下降)。背景图像重复,面板上的任何文本也会重新调整大小。
任何想法可以是什么?它可能是与.NET相关的问题吗?我无法访问有问题的机器,因此目前所有必须继续进行的是一些模糊的屏幕截图。
更新
这是一个DPI问题。更改DPI设置(在Windows XP上)和应用程序将调整大小(但在Vista / 7上保持正确)。谢谢你的快速反应。
答案 0 :(得分:1)
这不是DPI设置的结果,这是WPF尝试解决的关键问题之一,它具有自动调整大小,移动,换行等功能吗?
有一些类似的问题涉及因改变DPI而引起的问题:
C# Scaling UserControl content to match users Dpi/Font Size
How to prevent font resize when changing the DPI of the system