VS內建的Panel元件無法設定成透明的,如果需要透明的Panel需要做一些手腳。
建立一個新的Class並繼承原本的Panel,覆寫以下的方法。
using System.Windows.Forms;
public class TransparentPanel : Panel
{
protected override CreateParams CreateParams
{
get {
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x00000020; // WS_EX_TRANSPARENT
return cp;
}
}
protected override void OnPaintBackground(PaintEventArgs e)
{
//base.OnPaintBackground(e);
}
}
先編譯一次專案後就可以直接在工具箱看到元件,使用方法跟原本的一樣拉到畫面上即可。