我正在使用 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/