视觉工作室设计师dpi设置

时间:2011-05-09 16:44:19

标签: visual-studio forms resize dpi

我已经学会了如何以艰难的方式管理不同的DPI设置,以便在运行时正确显示我的应用程序。

但是设计时Visual Studio仍然存在很大问题。 假设我以96 dpi构建应用程序并将显示切换到120 dpi以进行测试。

现在如果我以120 dpi打开一个表单设计器,表单按照125%的大小调整,控件移动了! : - (((

所以我尽量避免重新打开表单,但这不是一个好的解决方案,不是吗?

设计时间设置是否有可能阻止表单调整大小?

2 个答案:

答案 0 :(得分:2)

不是解决方案,但可能是解决方法:不要在您的计算机上进行测试,而是在VM或其他计算机上进行测试,并且不要在具有大字体的计算机上打开解决方案。

我们发现我们无法使用AutoScaleMode = Dpi.Font设置。当我们在设计器中打开表单时,这将随机调整表单大小。 Dpi或None似乎都有用。

答案 1 :(得分:0)

虽然这个问题已经过时了,但我想分享一下我的解决方法。

  • 保留表单的AutoScaleMode = Font。如果您正确控制其余部分,这样可以正常工作。
  • 在您的表单设计器中设置:Font = MS Sans; 11px。基本上,在Pixel中指定字体,而不是Points。因此,如果系统的DPI发生变化,Visual Studio将不会重新扩展任何内容。
  • 在Forms Ctor中,在InitializeComponent之后,重新设置:Font = SystemFonts.DefaultFont。现在,在运行时,字体将再次使用基于点的大小,并且您可以获得不错的高DPI GUI。
  • 通过清单或API函数SetProcessDPIAwareness启用DPI-Awareness

您可以在我的博客上找到我(硬)学习路径的详细信息:http://www.sgrottel.de/?p=1581&lang=en