【问题标题】:Bug in form display when upgrading .NET version and editing form升级 .NET 版本和编辑表单时表单显示的错误
【发布时间】:2012-03-01 14:47:14
【问题描述】:

首先,我最近将我的项目形式从 .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 有什么关系?

【问题讨论】:

  • “显示不好”是什么意思:是错误还是其他?
  • @Richard 许多控件不可见,就像它们不在可见区域中一样。布局有问题,比如窗口大小与表单大小不同,然后所有靠近表单底部和右侧的控件都丢失了。
  • 表格大小变了吗?如果是这样,它可能正在锚定
  • 也许是工作和不工作截图的时间?
  • 会不会是您的开发 PC 上的 DPI 与其他 PC 上的不同?

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


【解决方案1】:

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

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

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

祝你好运。

【讨论】:

  • 谢谢。非常有趣的是,在 .resx 文件中我的版本为 2.0.0.0 时一切正常。只有当我编辑表单并且设计师将版本更改为 4.0.0.0 并添加了一些其他行时,事情才会变得混乱。我现在会坚持使用 2.0.0.0 版。
猜你喜欢
  • 2023-03-29
  • 2015-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 2016-08-04
  • 1970-01-01
相关资源
最近更新 更多