C# 是否可以使用TextRenderingHint在RichTextBox上获得抗锯齿?
我一直在尝试在Windows窗体应用程序的各种控件中启用文本的抗锯齿 我做了一些研究,似乎解决方案是创建一个自定义控件并重写C# 是否可以使用TextRenderingHint在RichTextBox上获得抗锯齿?,c#,winforms,antialiasing,C#,Winforms,Antialiasing,我一直在尝试在Windows窗体应用程序的各种控件中启用文本的抗锯齿 我做了一些研究,似乎解决方案是创建一个自定义控件并重写OnPaint()以修改textrendinghint。我在标签和按钮控件上成功地使用了这种方法,但它似乎不适用于文本框或RichTextBox控件 下面是我用来在自定义标签控件中启用抗锯齿的代码: public partial class CustomLabel : Label { private System.Drawing.Text.TextRendering
OnPaint()
以修改textrendinghint
。我在标签
和按钮
控件上成功地使用了这种方法,但它似乎不适用于文本框
或RichTextBox
控件
下面是我用来在自定义标签控件中启用抗锯齿的代码:
public partial class CustomLabel : Label
{
private System.Drawing.Text.TextRenderingHint _hint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
public System.Drawing.Text.TextRenderingHint TextRenderingHint
{
get { return this._hint; }
set { this._hint = value; }
}
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.TextRenderingHint = TextRenderingHint;
base.OnPaint(pe);
}
}
对TextBox
或RichTextBox
使用相同的方法似乎不起作用
我正在创建的应用程序主要处理文本输入,我真的希望对所有显示的文本使用抗锯齿,特别是输入到TextBox或RichTextBox或自定义控件中的文本 为什么不在Windows上启用ClearText?默认情况下,它们不是在某种程度上消除了别名吗?我启用了cleartype,但使用了TextRenderingHint。AntiAliasGridFit使文本看起来明显更好。因此,我刚刚发现了WPF,我很高兴发现,到目前为止,我尝试的所有控件中的文本都消除了别名。所以看起来我将在WPF中重新构建我的应用程序:)