WinForm 控件实现半透明效果,并可层叠显示

    public class CYBaseControl : Control
    {

        public CYBaseControl()
        {
            this.SetStyle(ControlStyles.SupportsTransparentBackColor |
                ControlStyles.Opaque, true);
            this.BackColor = Color.Transparent;
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle = 0x20;
                return cp;
            }
        }
    }

  已知问题:该类控件无法启用双缓冲,所以不适合做动态效果,闪烁会很严重;层叠控件时绘制顺序会乱掉,可能是我绘制绘制控件的时候没有做判断顺序的原因

原文地址:https://www.cnblogs.com/linji/p/2694649.html