简单的DPI缩放方式?

时间:2014-03-17 18:16:24

标签: c# winforms dpi

所以我现在已经编程了一个多月的程序,而且我遇到了一个我不知道如何解决的问题。有一段时间了,当我在其他计算机上打开我的程序时,我总是感到困惑,而且我的窗口大小不同。我把它归结为一个不同的分辨率,并认为这个问题以后很容易解决。然后我导入了一个自定义字体到我的程序,当我注意到字母不清楚和模糊的地方时,我很困惑。我认为这是由我使用的指定字体大小引起的,并保持原样。然而今天,当我正在进行一些测试时,我对模糊的文本感到恼火,足以在线搜索问题和解决方案,但发现我的问题在于我的DPI设置(125%在我主要编程的计算机上) 。)

我不知道我能做些什么。我刚开始编程,并且很难弄清楚如何使自定义文本工作,但我不知道从哪里开始。

我已经在Visual Studio C#2010中编写了这个程序,因为它是我唯一没有过期的版本,因此我无法使用任何可能是2011年或2012年的版本。

我想要的只是让一台计算机上的对象与另一台具有不同DPI的对象放在同一个地方。是否有一个非常简单的分步教程,我可以阅读或观察到这一点?

1 个答案:

答案 0 :(得分:2)

这段代码snipshet非常适合我。

http://urenjoy.blogspot.it/2008/11/make-resolution-independent-windows-app.html

(使用Visual Studio Express 2013)

要求Windows应用程序在不同分辨率下应具有相同的布局,这意味着在更改分辨率时应用程序的布局应该没有任何影响。以下是执行此操作的步骤。

  • 使用表格布局面板
  • 在tablelayoutpanel的单元格中拖动控件并设置锚点和停靠属性。
  • 设置拖动控件的rowspan和colspan属性以合并单元格
  • 设置相对于单元格的拖动控件的边距和填充。
  • 拖动所有控件并按照相同步骤操作,使用tablelayoutpanel完成设计
  • 现在设置tablelayoutpanel = autosize(或%)
  • 的所有列和行大小
  • 设置tablelayoutpanel属性autosize = true,autosizemode = grow and shrink
  • 设置表单属性autosize = true,autosizemode = grow and shrink
  • 运行Windows应用程序如果您的Windows应用程序以最大状态打开,请设置tablelayoutpanel dock property = fill。