为什么标签大小会在资源文件中更改?

时间:2012-11-29 14:09:29

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

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

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

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

可能是.Net配置还是其他一些Windows配置?

2 个答案:

答案 0 :(得分: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设置达成一致外,没有真正的解决方法。

答案 1 :(得分:0)

这是显示器配置。 同事设定为100%标准,我的设定为150%。