在自定义控件中加入以下代码:
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的图片挡住。
哪位高手要知道怎么修改代码,希望给点建议。