日期:2014-05-17  浏览次数:20802 次

自定义组件,为什么不执行 OnPrint ?
本帖最后由 cto_zhouyixiong 于 2013-07-19 16:16:06 编辑

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;

namespace TestUI
{
    public partial class UISplitContainer : SplitContainer 
    {
        public UISplitContainer()
        {
            InitializeComponent();
        }

        public UISplitContainer(IContainer container)
        {
            container.Add(this);
            this.Invalidate();
            InitializeComponent();
            SetStyles();
        }
        private void SetStyles()
        {
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
            SetStyle(ControlStyles.ResizeRedraw, true);
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            UpdateStyles();
        }

        protected override void OnPrint(PaintEventArgs e)
        {
            MessageBox.Show("hi");//为什么不执行这函数??????
          
           
        }
    }
}


自定义组件,为什么不执行 OnPrint 呢 ?