设置XtraForm标题居中

原文: 设置XtraForm标题居中

    public class CustomFormPainter : FormPainter
    {
        public CustomFormPainter(Control owner, DevExpress.Skins.ISkinProvider provider)
            : base(owner, provider)
        {
        }
        protected override void DrawText(DevExpress.Utils.Drawing.GraphicsCache cache)
        {
           
            string text = Text;
            if (text == null || text.Length == 0 || TextBounds.IsEmpty) return;
            using (AppearanceObject appearance = new AppearanceObject(GetDefaultAppearance()))
            {
                appearance.TextOptions.Trimming = Trimming.EllipsisCharacter;
                appearance.TextOptions.HAlignment = HorzAlignment.Center;
                appearance.Font = new Font(appearance.Font.Name, 30, FontStyle.Bold, appearance.Font.Unit, appearance.Font.GdiCharSet, appearance.Font.GdiVerticalFont);
                if (AllowHtmlDraw)
                {
                    DrawHtmlText(cache, appearance);
                    return;
                }
                Rectangle r = RectangleHelper.GetCenterBounds(TextBounds, new Size(TextBounds.Width, CalcTextHeight(cache.Graphics, appearance)));
                DrawTextShadow(cache, appearance, r);
                cache.DrawString(text, appearance.Font, appearance.GetForeBrush(cache), r, appearance.GetStringFormat());
            }
        }
    }
这样用
    public partial class frmMain : DevExpress.XtraEditors.XtraForm
    {
        static frmMain()
        {
            SkinManager.EnableFormSkins();
        }
        public frmMain()
        {
            InitializeComponent();
        }
        protected override FormPainter CreateFormBorderPainter()
        {
            return new CustomFormPainter(this, LookAndFeel);
        }
    }
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/lonelyxmas/p/11312386.html