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

本文关键字:表单 显示 错误 编辑 NET 版本 升级 | 更新日期: 2023-09-27 18:26:24

首先,我最近将我的项目从.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()中

如果我恢复代码表单中的这些更改,则所有计算机上都会显示"OK",如果我保留这些更改,表单将缺少许多子控件,并且会像大多数子控件一样从屏幕上滑出,但仅在没有VS2010的计算机上显示。如何修复此问题,以及这与在计算机上安装VS2010有何联系?

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

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

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

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

祝你好运。