首先,我最近将我的项目表格.NET 3.5升级到了4.0。我没有问题。
但是现在我做了一些更改,结果是所有未安装Visual Studio 2010的计算机上的表单都显示不好。他们有.NET 4.0,否则我无法运行该程序。
我只需添加一个按钮,设计师就会改变另外两个方面:
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
转到(在.resx文件中)
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
和对象一样:
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
...
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
出现在.Designer.cs InitializeComponent()
中如果我还原这些代码形式的更改在所有计算机上都显示正常,如果我离开它们表单丢失了许多子控件,并且它的大部分接口滑出屏幕,但仅限于没有VS2010的计算机。如何解决这个问题以及如何在计算机上安装VS2010?
答案 0 :(得分:2)
这听起来像是一个DPI问题,你的开发者就是DPI。 PC(例如120dpi)与其他PC上的DPI不同(例如96dpi)。
如果您不打算在应用程序中支持不同的DPI,那么只需确保在设置为目标DPI分辨率(通常为96dpi)的PC上开发代码。
如果您想支持各种DPI解决方案,那么Form.AutoScaleMode
将是一个良好的开端。 StackOverflow还充满了有关DPI问题和解决方案的资源。