none
C#继承了MonthCalendar 的自定义日历实现控件背景透明问题,求救! RRS feed

  • 问题

  • 我要实现一个日历,我继承了MonthCalendar,然后看了MSDN,说是ControlStyles.UserPaint 为true,要重写OnPrint 以进行分层绘制。如果没有重写把控件拉到窗体上透明实现了,但是日历上的文字也看不见了。求帮忙重写OnPrint!本人愚笨不知道怎么重写这个方法……这个是没有重写OnPrint时的日历控件,空白的什么也没有

    class UserMonthCalender:MonthCalendar

    { public UserMonthCalender() : base()

    { this.SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.SupportsTransparentBackColor | ControlStyles.Selectable | ControlStyles.ResizeRedraw, true); BackColor = System.Drawing.Color.Transparent; }

    protected override void OnPaint(PaintEventArgs e)

    { base.OnPaint(e); }

    protected override void OnPrint(PaintEventArgs e)

    { base.OnPrint(e); } }

    2012年4月8日 3:28

答案

全部回复