【问题标题】:Windows Form Controls - Font not changing for WingdingWindows 窗体控件 - Wingding 的字体不变
【发布时间】:2014-02-28 10:24:08
【问题描述】:

我有一个 Visual Studio 2013 Windows Forms C# 项目,我之前在该项目中添加了一个使用 Wingdings 3 字体的按钮 - 它工作正常。我已经创建了一个新的解决方案并尝试了同样的事情,但是每当我选择 Wingdings 作为任何类型的 Windows 窗体控件的字体名称时,它总是默认为窗体设计器中的 Microsoft Sans Serif 字体。对于其他字体,Designer 会选择更改。我还注意到我的 Visual Studio 2008 环境中也出现了同样的问题。

我是否无意中更改了禁用某些类型字体的环境设置?

【问题讨论】:

  • 检查字体文件夹以确保该字体存在 Wingdings
  • 该字体存在于C:\Windows\Fonts文件夹中,也可以在Microsoft Word等中使用

标签: c# winforms visual-studio-2013


【解决方案1】:

在 Visual Studio 中,单击控件并在属性部分展开字体部分。将 Font 更改为 Wingdings,并将 GdiCharSet 值从 0 更改为 2。Wingdings 应该可以为您工作。

我正在使用 Visual Studio 2015。希望您的版本具有相同的选项。

【讨论】:

  • 这解决了我在遵循 MSDN 上的匹配游戏教程时遇到的问题 - 谢谢!
【解决方案2】:

在对 stackoverflow 进行了一些研究之后,我想出了这个 unicode 解决方案:

Unicode alternative

【讨论】:

  • 谢谢,我会试试这个,这样我可以推动我的发展,但我仍然很想知道为什么这会突然停止对我工作。它是一个 Windows 窗体应用程序,因此我不必担心非标准字体在某些 Web 浏览器中导致的问题。
  • 感谢 Usman,我只是将字体名称设置为 Lucida Sans Unicode,然后添加 buttonRefresh.Text = "\u21BB";到我的表单加载事件。这给了我正在寻找的刷新符号。
【解决方案3】:

标签和 Wingdings 2 有同样的问题。在控件属性中将 UseCompatibleTextRendering 设置为 True 对我有用

【讨论】:

    【解决方案4】:

    但请注意此字体,它不是标准字体,因此并非所有应用程序都支持。您也许可以找到标准的 Unicode 替代方案

    Wingdings font family does not seem to work on Firefox and Opera

    【讨论】:

    • 它是一个 Windows 窗体应用程序,因此非标准字体(如wingdings)应该仍然适用于我。
    【解决方案5】:

    gdicharset 设置为 1(默认),它将被修复。不要将 UseCompatibleTextRendering 设置为 true,将其保留为 false。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多