3

Windows フォーム アプリケーションのさまざまなコントロールで、テキストのアンチ エイリアスを有効にして実験してきました。

私は少し調査を行いましたが、解決策はカスタムコントロールを作成し、オーバーライドOnPaint()してTextRenderingHint. 私はこのアプローチをLabelandButtonコントロールでうまく使用しましたが、TextBoxorRichTextBoxコントロールでは機能しないようです。

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);
    }
}

TextBoxaまたは aに同じアプローチを使用してもRichTextBoxうまくいかないようです。

私が作成しているアプリケーションは主にテキスト入力を扱っており、表示されるすべてのテキスト、特に TextBox または RichTextBox またはカスタム コントロールに入力されるテキストにアンチエイリアスを使用したいと考えています。

4

0 に答える 0