升级.NET版本和编辑表单时,表单中显示错误

时间:2012-03-01 14:47:15

标签: c# .net winforms .net-4.0 windows-forms-designer

首先,我最近将我的项目表格.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?

1 个答案:

答案 0 :(得分:2)

这听起来像是一个DPI问题,你的开发者就是DPI。 PC(例如120dpi)与其他PC上的DPI不同(例如96dpi)。

如果您不打算在应用程序中支持不同的DPI,那么只需确保在设置为目标DPI分辨率(通常为96dpi)的PC上开发代码。

如果您想支持各种DPI解决方案,那么Form.AutoScaleMode将是一个良好的开端。 StackOverflow还充满了有关DPI问题和解决方案的资源。

祝你好运。