Windows フォーム アプリケーションのさまざまなコントロールで、テキストのアンチ エイリアスを有効にして実験してきました。
私は少し調査を行いましたが、解決策はカスタムコントロールを作成し、オーバーライドOnPaint()
してTextRenderingHint
. 私はこのアプローチをLabel
andButton
コントロールでうまく使用しましたが、TextBox
orRichTextBox
コントロールでは機能しないようです。
Label
カスタムコントロールでアンチエイリアシングを有効にするために使用しているコードは次のとおりです。
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
aまたは aに同じアプローチを使用してもRichTextBox
うまくいかないようです。
私が作成しているアプリケーションは主にテキスト入力を扱っており、表示されるすべてのテキスト、特に TextBox または RichTextBox またはカスタム コントロールに入力されるテキストにアンチエイリアスを使用したいと考えています。