使用VisualStudio 2010 SP1 C#、. Net4.0,Visual Source Safe,Windows7
我正在与奥地利的同事一起从事同一项目,目前在瑞士。
当我在同事中创建的Visual Studio中单击表单时,.resx文件将立即被修改。文件中所有标签的大小都有一些自动修改的方式。然后将表格中的所有控件插入表格的左上角。这使我无法编辑他的任何表格。
这与语言本地化有关吗?
VisualStudio中某个地方的隐藏设置会自动尝试调整标签大小?
可能是.Net配置还是其他Windows配置?
最佳答案
那是由于表单的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设置外,没有其他解决方案。