C#自定義控制元件背景透明
阿新 • • 發佈:2019-01-07
在自定義控制元件中加入以下程式碼:
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的圖片擋住。
哪位高手要知道怎麼修改程式碼,希望給點建議。