DevExpress社は、タイトルテキストの影を削除XtraForm

問題

DevExpress社のWinForm開発プログラムを使用している場合、私は開発のためのデフォルトのスキンを使用していました。しかし、顧客のタイトルバーの背景色青に、白のタイトルテキストの色。

参照して、比較的簡単である色を変更DevExpress社のサポート皮膚の変化を取得することで、説明BackColorしてForeColor達成することができます。しかし、後にあいまいな状況で見つかった変更は、タイトルテキストの下の低い部分の画面で発生します。

理由

初期の推測では、テキストの影でなければなりませんが、情報検索ソリューションのほとんどはで、最後に発見されないDevExpress社のサポートカスタムを表示するには、この記事のFormPainter最初に私は大きな負荷だと思うDrawText()、それは持って発見した後、解決するが、関連するパラメータが見つからないDrawTextShadow()メソッドを、それがあるべきです。

解きます

解決策は単純で、書き換えることがあるDrawTextShadow()任意のシェーディングなしに、ライン上の空のメソッドの方法を。

public class ReplaceFontFormPainter : FormPainter
{
    public ReplaceFontFormPainter(Control owner, ISkinProvider provider) : base(owner, provider)
    {
        
    }
    
    // 不再绘制标题文字阴影。
    protected override void DrawTextShadow(GraphicsCache cache, AppearanceObject appearance, Rectangle bounds)
    {
        
    }
}

あなたは、フォーム、オーバーロードの形式に変更する必要がCreateFormBorderPainter()作成した独自のものを使用し、方法をFormPainter

public partial class MainForm : XtraForm
{
    protected override FormPainter CreateFormBorderPainter() => new ReplaceFontFormPainter(this, LookAndFeel);
}

最終結果:

おすすめ

転載: www.cnblogs.com/myzony/p/11276001.html