c# - 为什么资源文件中的标签大小会发生变化?

标签 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 配置?

最佳答案

这是因为在表单的 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 设置外,没有真正的解决办法。

关于c# - 为什么资源文件中的标签大小会发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13627591/

相关文章:

c# - 从字符串行解析 GUID

javascript - 我可以在 Visual Studio 中使用 "lock"代码文件来避免意外吗(不是源代码控制锁定)

c++ - 从 cmd 运行 cl.exe

visual-studio-2010 - 用于开发 Powershell 的 VS2010 插件/扩展?

c# - 从代码中检测当前 VSIX 包的版本

c# - ExpectedException.NoExceptionMessage 中的字符串出现在哪里?

c# - 间歇性 Linq FirstOrDefault 错误 - 索引超出数组范围

c# - SdkUtility.LaunchSignInPage 没有重定向到 ebay 登录页面

c# - 从 Azure 函数访问嵌套 Json 设置

visual-studio-2010 - VS2010中关闭双击取消停靠