C#自定义控件背景透明

来源:互联网 发布:北京招聘网络推广 编辑:程序博客网 时间:2024/05/07 19:26

在自定义控件中加入以下代码:


public errorProvider()
 {
            InitializeComponent();
            SetStyle(
            ControlStyles.UserPaint |
            ControlStyles.AllPaintingInWmPaint |
            ControlStyles.OptimizedDoubleBuffer |
            ControlStyles.SupportsTransparentBackColor |
            ControlStyles.Selectable |
            ControlStyles.ResizeRedraw, true);
            this.BackColor = Color.Transparent;



}


这样自定义的控件,就实现了背景透明。


经过测试有点问题:


在panel上使用此类控件没有问题。但是如果panel上面有个picturebox的话,该控件放在picturebox上,此控件那部分会显示panel的背景颜色而把picturebox的图片挡住。

哪位高手要知道怎么修改代码,希望给点建议。