1. 程式人生 > >C#自定義控制元件背景透明

C#自定義控制元件背景透明

在自定義控制元件中加入以下程式碼:

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的圖片擋住。

哪位高手要知道怎麼修改程式碼,希望給點建議。