繁体   English   中英

表单显示依赖于Visual Studio中的开发机器吗?

[英]Is form display dependent on development machine in Visual Studio?

我在Visual Studio中有一个C#Windows应用程序(即不是Web应用程序)。 最初的开发环境是具有1920x1200像素屏幕的Dell Latitude D800。 由于大量像素使文本非常小,因此我以可读性为名调整了许多不同的默认字体。

我已将开发工作移至新的笔记本电脑,即1440x900显示屏的Latitude D630。 通过在新计算机上创建一个新项目并添加现有对象/文件/等来移动该应用程序。

问题是我的许多表格不再统一显示。 现在,有些东西太大了,以至于右边的项目不在框架之内,而另一些则较小,在框架的右边有多余的空间。 好像“像素”的值现在从一种形式到另一种形式是不同的。 当可执行文件安装在生产计算机上时,这些更改将保留。

对发生了什么以及如何恢复秩序有任何想法吗? 谢谢。

一个不错的选择是检查字体DPI设置。 默认情况下,其设置为96。它在Windows的一部分中显示设置。

据我所知,这并不能解释为什么某些形式的影响方式与其他形式不同。

Winforms包含许多技术,旨在使表格的显示合理地独立于分辨率。 但是,许多这项技术需要您理解和使用它-例如锚定,对接,布局面板和自动缩放。 如果您错误地使用了这些属性,那么直到您首次以不同的分辨率测试应用程序的那一天,您通常才知道它。

不幸的是,“为什么我的表格搞砸了?”这个问题并没有真正的答案。 您的表单被搞砸了,因为没有设计独立于分辨率的表单。 可能存在很多问题:您可能将控件锚定在错误的地方,有人可能会通过覆盖控件的自动缩放来“修复”布局问题,这确实是无止境的。

解决旧版应用程序中此类问题的最佳方法通常是在测试应用程序中缓慢构建有问题的表单的原型副本,并在调整大小和更改屏幕分辨率时观察其行为。 这将帮助您确定表单的最初设计方式。 然后,您可以将学到的内容恢复为原始格式并进行修复。

然后从一开始就将其设计到您的开发过程中。 我正在构建的大型UI密集型桌面应用程序中没有这些问题的原因之一是,我已将程序中的每个表单都调整为可调整大小,并在测试期间一直调整它们的大小,以查看它们是否搞砸了。 我当然也可以使用不同的屏幕分辨率进行测试。 这些问题一旦变成系统性的,就真的很难解决。 尽早发现它们可以使我免于遭受很多痛苦。

一些实验表明,当窗体显示为最大化的MDI子级时,窗体的声明尺寸显然会影响窗体的比例尺对象(每屏幕英寸的长度和宽度单位)。

我不知道为什么它会影响这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM