winforms - .net Windows 窗体和选择 Vista 字体

标签 winforms fonts

我正在使用 Windows 窗体构建一个 .net 应用程序。我正在考虑以下问题:如果我在应用程序中指定仅在 Vista 和 Office 07 中可用的字体,当应用程序尝试在没有这些字体的计算机上运行时会发生什么?

我认为系统将无法回退到其家族的字体,因为它们是使用字符串在内部初始化的(例如“Segoe UI”)。

要遵循的最佳实践是什么,这样我仍然能够通过表单设计器指定字体,而不用担心像这样的问题?

最佳答案

我认为是 System.Drawing.SystemFonts.MessageBoxFont 提供了 Segoe UI、Tahoma、然后是 MS Sans Serif(具体取决于操作系统)。只要您的布局足够流畅(WPF 擅长于此,但在 Windows 窗体中则困难得多),那么它就会很好地工作。无论如何,使用该设置然后在虚拟机中进行测试以查看其是否有效是值得的。

不幸的是,设计器不支持设置这样的字体,有时它会将内容重置为硬编码的 Segoe UI(如果您使用的是 Vista)。

这种事情实际上是我开始转向 WPF 的原因之一:)。

关于winforms - .net Windows 窗体和选择 Vista 字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/254449/

相关文章:

css - 无法让@font-face 正常工作

c# - 从文件系统中的字体加载家族(而不是字体)名称

C# - 等待 WinForms 消息循环

c# - 在 C# 中控制或访问打印机的自定义打印机设置(旋转 180 度)

c# - 以编程方式绑定(bind) GridViewComboBoxColumn 数据源

ios - 使用字体样式和字体大小复制自定义字体

html - 我可以在 font-face 之前使用 font-family 吗?

c# - 我可以在按钮内绘制形状吗?

c# - 将缓存数据存储在本地

iphone - xcode 自定义 ttf 字体不工作