【问题标题】:Visual Studio 2008 and Windows 7 render text differentlyVisual Studio 2008 和 Windows 7 以不同方式呈现文本
【发布时间】:2011-01-05 12:51:23
【问题描述】:

我已附上屏幕截图:http://i.imgur.com/tU05T.png 我检查了我的 DPI 设置。他们是 100%。 我似乎无法找出为什么测试在运行时应用程序与设计器中的字体大小不同。任何人都可以提供帮助。我试过谷歌搜索,还没有找到任何有意义的链接..

【问题讨论】:

  • 您的 EXE 和 VStudio 是否在完全相同的机器上使用相同的登录帐户运行?
  • 欢迎浏览器兼容。
  • 这不是 Web 应用程序。这是在 Visual Studio 和标准 Windows 窗体应用程序中。字体怎么会不一样??

标签: .net visual-studio windows-7


【解决方案1】:

Windows 7 使用Segoe UI 作为其默认界面字体。如果您没有在表单或控件上明确设置字体,那么您将获得这样的字体。

在以前版本的 Windows 中情况并非如此,它使用 Microsoft Sans Serif。这也是 Visual Studio 显示的内容。

Source

编辑:虽然该消息来源没有说 Windows 会自动将字体设置为 Segoe UI,所以我不确定它为什么会改变。我目前不在 Windows 7 机器上,所以我看不到我的机器在做什么。

【讨论】:

  • 我明白了....是的,它确实将其更改为 Segoe UI。我必须明确更改每个表单以使用特定字体,这是我试图避免的......
【解决方案2】:

两张照片使用不同的字体,所以你不能指望对齐匹配。也许 Windows 7 用您选择的字体替换了其他字体。你能强制字体确保在两种情况下都使用相同的字体吗?

【讨论】:

  • 它们是相同的字体..但在视觉上它们是不同的..我在 Visual Studio 上以调试模式运行应用程序时截取了屏幕截图...!!!
  • 显然它们不一样。看看 I 和 g。我的猜测是字体替换发生了。
  • 这是怎么发生的.. 我怎样才能强制应用程序以与设计师相同的方式呈现字体?它真的很烦人。这不会发生在除 7 之外的任何其他版本的 Windows 中
  • 看起来 Windows 7 正在使用 Verdana,而您的 VS 2008 正在使用 Calibri。这些是具有不同间距要求的不同字体。应用程序可能使用与 VS 2008 中的显示字体不同的系统默认字体。
  • 查看 R Bemrose 的答案,其中可能包含详细信息。
【解决方案3】:

要避免在不同 Windows 版本上使用不同字体的此类问题,或处理用户指定使用大字体的环境,最好使用布局管理器来动态调整控件的大小。

指定某种字体不是一个好主意,因为这样 GUI 将与平台标准不匹配,并且您无法确定该字体是否存在(例如,Segoe UI 在 Windows XP 上不可用)。此外,它不能解决大字体(或本地化版本中字符串长度不同)等问题。

在 Windows 窗体中,可以使用例如自动调整布局来完成。 TableLayoutPanel。您可以在 MSDN 上找到一个示例:

Walkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel

【讨论】:

    【解决方案4】:

    在 win7 上调整 vs2010 字体清晰度的最佳工具是 http://www.svprogramming.net/text-sharp/index.html

    太棒了!而且不需要再做!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 2014-08-16
      • 2017-06-13
      • 1970-01-01
      • 2012-11-08
      相关资源
      最近更新 更多