winform 控制項透明

2021-06-21 12:04:40 字數 608 閱讀 9597

要實現c# winform中的控制項與背景的透明,可以通過設定控制項的backcolor屬性為transparent,同時設定其父控制項。因為在c#中,控制項的透明指對父窗體透明。

如果不設定parent屬性,那麼控制項將只對form透明,顯示的時候都會把form的背景色(預設為control)重刷一遍作為自己的背景。

在控制項比較多的情況下,可以使用panel控制項,將某一組的控制項都放到panel中,然後只對此panel設定背景透明即可,則其他控制項都跟著實現了背景透明。

如,現有一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背景透明

C 透明控制項(WinForm)

public partial class tspcontrol usercontrol private image img public image image set protected override void onlocationchanged eventargs e protected o...

WinForm中控制項與背景透明

要實現c winform中的控制項與背景的透明,可以通過設定控制項的backcolor屬性為transparent,同時設定其父控制項。因為在c 中,控制項的透明指對父窗體透明。如果不設定parent屬性,那麼控制項將只對form透明,顯示的時候都會把form的背景色 預設為control 重刷一遍...

透明面板控制項設計系列(五) 透明控制項

現在我們有了透明視窗,那麼所有控制項也應該是透明的。控制項透明,原理其實很簡單,就是把父控制項的影象複製到自己上面即可。例如,常用的方法是給父控制項傳送背景重畫的訊息,同時把自己的dc傳遞過去 sendmessage parent.handle,wm erasebkgnd,dc,0 tctrl pa...