将某些控件上定义的 UseCompatibleTextRendering 属性设置为应用程序范围内的默认值。
命名空间: System.Windows.Forms
程序集: System.Windows.Forms (在 System.Windows.Forms.dll 中)
参数
-
defaultValue
-
类型:
System .Boolean
用于新控件的默认值。如果为 true,则支持 UseCompatibleTextRendering 的新控件使用基于 GDI+ 的 Graphics 类进行文本呈现;如果为 false,则新控件使用基于 GDI 的 TextRenderer 类。
| 异常 | 条件 |
|---|---|
| InvalidOperationException | 您只能在 Windows 窗体应用程序创建第一个窗口之前调用此方法。 |
某些 Windows 窗体控件可以使用 TextRenderer 类(基于 GDI 图形库)或 Graphics 类(基于 GDI+ 图形库)来呈现其文本。 考虑到与 GDI+ 相关的性能和本地化问题,此更改在 .NET Framework 2.0 中进行。使用 SetCompatibleTextRenderingDefault,可为支持UseCompatibleTextRendering 属性的控件设置该属性的默认值。
UseCompatibleTextRendering 属性旨在为 Windows 窗体控件(使用 TextRenderer 类来呈现文本)与 .NET Framework 1.0 和 .NET Framework 1.1 应用程序(使用 Graphics 类来执行自定义文本呈现)之间提供可视化兼容性。 在大多数情况下,如果您的应用程序不是从 .NET Framework 1.0 或 .NET Framework 1.1 升级的,建议您将 UseCompatibleTextRendering 设置保留为 false 的默认值。
基于 GDI 的 TextRenderer 类是在 .NET Framework 2.0 中引入的,用于提高性能、改善文本外观以及提高对国际字体的支持。 在早期版本的 .NET Framework 中,基于 Graphics 类的 GDI+ 用于执行所有文本呈现。 GDI 采用与 GDI+ 不同的方式计算字符间距和自动换行。在使用 Graphics 类来呈现文本的 Windows 窗体应用程序中,这可能导致使用 TextRenderer 显示的控件文本外观与应用程序中的其他文本外观不同。 若要解决此不兼容性,可将 UseCompatibleTextRendering 属性设置为 true。 若要将应用程序中所有受支持控件的 UseCompatibleTextRendering 设置为 true,请使用 true 参数来调用 SetCompatibleTextRenderingDefault 方法。
如果在另一个应用程序中承载 Windows 窗体代码,例如 Internet Explorer,切勿调用该方法。仅在独立的 Windows 窗体应用程序中调用该方法。
| |
|---|
| 若要在 Visual Basic 2005 或更高版本中设置 UseCompatibleTextRendering 的默认值,请参见 WindowsFormsApplicationBaseUseCompatibleTextRendering 。 |
在 Visual C# 2005 或更高版本中,对 SetCompatibleTextRenderingDefault 的调用是在 Program.cs 文件中自动生成的。 若要更改默认的文本呈现方式,请修改生成的代码。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
本文介绍了.NET Framework中Application.SetCompatibleTextRenderingDefault方法的作用,该方法用于设置应用程序内控件的UseCompatibleTextRendering属性默认值。讨论了GDI和GDI+在文本渲染上的差异,并提供了如何确保视觉兼容性和提高性能的建议。
1003

被折叠的 条评论
为什么被折叠?



