1. 程式人生 > >C# WinForm 透明控制元件 PictureBox透明

C# WinForm 透明控制元件 PictureBox透明

1.要實現C# WinForm中的控制元件與背景的透明,可以通過設定控制元件的BackColor屬性為Transparent,同時設定其父控制元件。因為在C#中,控制元件的透明指對父窗體透明。如果不設定Parent屬性,那麼控制元件將只對Form透明,顯示的時候都會把Form的背景色(預設為Control)重刷一遍作為自己的背景。
2.在控制元件比較多的情況下,可以使用Panel控制元件,將某一組的控制元件都放到Panel中,然後只對此panel設定背景透明即可,則其他控制元件都跟著實現了背景透明。
demo:
現有一PictureBox控制元件,十多個Label以及Button,那麼只將這些Label和Button放入Panel中。同時在Form_Load事件中加入如下程式碼即可實現背景透明:
   this.picturebox1.SendToBack();//將背景圖片放到最下面
   this.panel1.BackColor = Color.Transparent;//將Panel設為透明
   this.panel1.Parent = this.picturebox1;//將panel父控制元件設為背景圖片控制元件
   this.panel1.BringToFront();//將panel放在前面

以上程式碼即可實現所有的控制元件都對PictueBox背景圖片透明。

待解決問題,閃爍