C# 窗体显示是否依赖于Visual Studio中的开发计算机?

C# 窗体显示是否依赖于Visual Studio中的开发计算机?,c#,visual-studio,C#,Visual Studio,我在Visual Studio中有一个C#Windows应用程序(即不是web应用程序)。最初的开发环境是带有1920x1200像素屏幕的Dell Latitude D800。由于大量像素使得文本非常小,我以可读性的名义调整了许多不同的默认字体 我已经将开发转移到新的笔记本电脑上,一台Latitude D630,显示1440x900。通过在新机器上创建新项目,并添加现有对象/文件等,移动了应用程序 问题是我的许多表单不再统一显示。有些现在太大,以至于右侧的项目超出了框架,而另一些则更小,框架右侧

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

我已经将开发转移到新的笔记本电脑上,一台Latitude D630,显示1440x900。通过在新机器上创建新项目,并添加现有对象/文件等,移动了应用程序

问题是我的许多表单不再统一显示。有些现在太大,以至于右侧的项目超出了框架,而另一些则更小,框架右侧的空间过大。这就好像“像素”的值现在从一种形式到另一种形式是不同的。当可执行文件安装在生产机器上时,这些更改将持续存在


知道发生了什么事,以及如何恢复秩序吗?谢谢。

最好检查您的字体DPI设置。默认情况下,其设置为96。这是windows显示设置的一部分。

最好检查字体DPI设置。默认情况下,其设置为96。这是windows显示设置的一部分。

据我所知,这并不能解释为什么某些窗体受到的影响与其他窗体不同。

据我所知,这并不能解释为什么某些表单会受到不同于其他表单的影响。

Winforms包含许多技术,这些技术围绕着使表单的显示合理地独立于分辨率的问题而设计。但是很多这项技术需要你理解和使用它——例如,锚定、对接、布局面板和自动缩放。如果您误用了这些属性,通常直到您第一次以不同的分辨率测试应用程序的那一天,您才知道这一点

不幸的是,对于“为什么我的表格搞砸了?”这个问题,并没有一个灵丹妙药的答案。你的表格搞砸了,因为它们没有独立解决方案。有一大堆可能的问题:你可能把控件锚定到错误的东西上,有人可能通过覆盖控件上的自动缩放来“修复”布局问题,真的,这是无穷无尽的

通常,解决遗留应用程序中此类问题的最佳方法是在测试应用程序中缓慢地构建一个有问题表单的原型副本,并在调整其大小和更改屏幕分辨率时观察其行为。这将帮助您确定表单最初应该如何设计;然后,您可以将学到的知识恢复到原始形式并加以修复


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

Winforms包含了许多技术,这些技术围绕着使窗体的显示合理独立于分辨率的问题而设计。但是很多这项技术需要你理解和使用它——例如,锚定、对接、布局面板和自动缩放。如果您误用了这些属性,通常直到您第一次以不同的分辨率测试应用程序的那一天,您才知道这一点

不幸的是,对于“为什么我的表格搞砸了?”这个问题,并没有一个灵丹妙药的答案。你的表格搞砸了,因为它们没有独立解决方案。有一大堆可能的问题:你可能把控件锚定到错误的东西上,有人可能通过覆盖控件上的自动缩放来“修复”布局问题,真的,这是无穷无尽的

通常,解决遗留应用程序中此类问题的最佳方法是在测试应用程序中缓慢地构建一个有问题表单的原型副本,并在调整其大小和更改屏幕分辨率时观察其行为。这将帮助您确定表单最初应该如何设计;然后,您可以将学到的知识恢复到原始形式并加以修复


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

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


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

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

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