5

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

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

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

也许是 .Net 配置或其他 Windows 配置?

4

2 回答 2

6

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

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

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

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

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

于 2012-11-29T14:37:10.373 回答
0

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

于 2012-11-29T14:53:09.817 回答