我在Visual Studio中有一个C#Windows应用程序(即不是Web应用程序)。最初的开发环境是戴尔Latitude D800,屏幕为1920x1200像素。由于大量像素使文本非常小,我在可读性名称中调整了许多不同的默认字体。
我已将开发转移到新款笔记本电脑,Latitude D630,配备1440x900显示屏。通过在新机器上创建新项目并添加现有对象/文件/等来移动应用程序。
问题是我的许多表格不再统一展示。有些现在太大,以至于右边的物品不在框架内,而另一些则较小,框架右侧有多余的空间。就好像“像素”的值现在从一种形式到另一种形式不同。在生产计算机上安装可执行文件时,这些更改仍然存在。
对发生的事情以及如何恢复秩序有任何想法?感谢。
答案 0 :(得分:3)
一个好的选择是检查你的字体DPI设置。默认设置为96.它的一部分显示设置。
答案 1 :(得分:0)
据我所知,这并不能解释为什么有些形式会受到不同的影响。
答案 2 :(得分:0)
Winforms包含许多技术,围绕使表单显示合理地独立于分辨率的问题而设计。但是,很多这项技术要求您了解并使用它 - 例如,锚定,对接,布局面板和自动缩放。如果您误用了这些属性,那么在您首次以不同的分辨率测试应用程序之前,您通常不会知道这些属性。
不幸的是,对于“为什么我的表格搞砸了?”这个问题,并没有真正的魔术答案。你的表格搞砸了,因为没有设计分辨率独立性。存在许多可能的问题:你可能有控件固定到错误的东西,有人可以通过覆盖控件上的自动缩放来“修复”布局问题,真的,它是无穷无尽的。
通常,在旧版应用中修复此类问题的最佳方法是在测试应用中慢慢构建违规表单的原型副本,并在调整大小并更改屏幕分辨率时观察其行为。这将帮助您确定表格最初应如何设计;然后,您可以将您学到的知识带回原始表格并进行修复。
然后从一开始就将其设计到您的开发过程中。在我正在构建的大型UI密集型桌面应用程序中我没有遇到这些问题的原因之一是我已经使程序中的每个表单都可以调整大小,并且我在测试过程中一直调整它们以查看它们是否可以搞砸了。我也用不同的屏幕分辨率进行测试。这些问题一旦成为系统性问题就很难解决;及早发现它们会让我的生活充满痛苦。
答案 3 :(得分:0)
一些实验表明,当显示为最大化的MDI子项时,表单的声明大小显然会影响表单中对象的大小(每个屏幕英寸的长度和宽度单位)。
我不知道它为什么会影响那个。