[點(diǎn)晴模切ERP]【C#】Winform控件背景透明的幾種解決方案
最新參與了一個(gè)小項(xiàng)目,遇到了控件背景透明的功能要求,特在此總結(jié)一下,供有需要的同行參考。 1、背景透明的概念和分類 背景透明是啥意思呢,就是背景透明,廢話了。其實(shí)你想過沒有,要求不一樣,實(shí)現(xiàn)的難道和技術(shù)手段也不一樣。 最基本的就是不顯示控件自己的背景,那,那顯示誰的背景? 背景透明后,透過去顯示誰,也就是說后面的誰不透明,這是問題的關(guān)鍵,換句話說,透明控件的parent是一個(gè)還是多個(gè)。 2、簡(jiǎn)單的背景透明,parent是一個(gè)的情況 a、自然透明,如圖label1 實(shí)現(xiàn):把控件背景色設(shè)置成窗口背景色 b、需要把picture設(shè)為parent才能透明的label2 實(shí)現(xiàn):this.label2.Parent = this.pictureBox1; c、本身就是label,只不過設(shè)置了Image屬性,相當(dāng)于加了背景圖,自然也背景透明 this.label3.Image = Image.FromFile("xfb.jpg"); 小結(jié):對(duì)于背景是單一控件來說,背景透明都好實(shí)現(xiàn),但是對(duì)背景是多對(duì)象來說說,要實(shí)現(xiàn)背景透明就比較難。 3、背景是多個(gè)控件背景的透明 說實(shí)話,很少有這種要求,更多的,是下面第三中情況。 4、透明文字,半透明背景,最后后的背景任意 這個(gè)效果類似于千千靜聽的桌面歌詞,文字背景是全透明的,可以設(shè)置一個(gè)帶顏色和透明度的背景。 其實(shí)實(shí)現(xiàn)很簡(jiǎn)單,原理就是用了兩個(gè)窗口,文字是一個(gè)透明窗口,帶顏色和透明度的背景是一個(gè)打底窗口,應(yīng)用的時(shí)候把這兩個(gè)窗口的不要的屬性都去掉,如邊框,狀態(tài)欄圖標(biāo)等,最后就是設(shè)置好兩個(gè)窗口的大小和位置以及層級(jí)關(guān)系就Ok了。 文字窗口背景透明this.TransparencyKey = this.BackColor; 顯示文字 直接在 paint事件中drawstring。 帶顏色和透明度背景窗口:直接用 backcolor 和 Opacity。 點(diǎn)晴模切ERP更多信息:http://moqie.clicksun.cn,聯(lián)系電話:4001861886 該文章在 2024/6/1 18:12:38 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |