【问题标题】:Why the Label size changes in resource file?为什么资源文件中的标签大小会发生变化?
【发布时间】:2012-11-29 14:09:28
【问题描述】:

使用 VisualStudio 2010 SP1 C#、.Net4.0、Visual Source Safe、Windows7

我正在与奥地利的一位同事开展同一个项目,我目前在瑞士。 当我在 VisualStudio 中单击我的同事创建的表单时,.resx 文件会立即被修改。文件中的所有标签大小都是自动修改的。然后将表单中的所有控件推到表单的左角。这使我无法编辑他的任何表单。

这可能与语言本地化有关吗? VisualStudio 中某处的隐藏设置,它会自动尝试调整标签大小?

可能是 .Net 配置或其他 Windows 配置?

【问题讨论】:

  • 可能与您(或他的)字体设置(或 DPI)有关,不是在 VS 中而是在操作系统级别。
  • 感谢您非常快速和正确的回答!我的同事的显示器尺寸为标准小 100%,我的设置为大 150%。但奇怪的是VisualStudio试图自动更改resx文件来弥补这一点,而更改的结果是不可用的。

标签: c# visual-studio-2010 visual-studio .net-4.0 resx


【解决方案1】:

这是由于表单的 Designer.cs 文件中自动生成的分配,它看起来类似于:

this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

当您的同事创建表单时,此处的值会有所不同。那是因为他在他的机器上以不同的分辨率运行视频适配器,每英寸点数设置与您的不匹配。一个非常常见的设置是 96 dpi。但是像 Vista 和更高版本的操作系统可以很容易地更改此设置,它看起来像一把尺子。常见的停止在 125% (120 dpi) 和 150% (144 dpi)。

更改此设置可以更轻松地阅读文本,程序将在具有更高 DPI 设置的视频适配器上使用更大的字体(以 points 为单位,1 磅 = 1/72 英寸)。但这也需要像 Label 和 TextBox 这样的控件在像素上变得更大以仍然适合文本。这是自动完成的,这就是为什么如果您启用本地化,您会看到表单的 .resx 文件发生变化。

这是确保您的设计在具有其他 dpi 设置的机器上仍然看起来不错的绝佳方式。但是当你在你们两个之间进行设计时,它可能有点像皮塔饼。除了同意 dpi 设置之外,没有真正的解决方法。

【讨论】:

    【解决方案2】:

    这是montior配置。 同事设置为 100% 标准,我设置为大 150%。

    【讨论】:

      猜你喜欢
      • 2018-05-01
      • 2017-08-22
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2015-01-18
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多