Winform實現透明窗體 蒙版效果

2021-10-10 06:01:10 字數 1568 閱讀 1849

[前言]

最近客戶專案部分ui要求有蒙版效果,研究多種方法還是達不到預期,某度他們的實現方法都是雙窗體設計,在使用過程中特別不方便(比如要實現蒙版後切換執行緒後不能操作父窗體,即使使用兩個showdialog顯然還是不行).通過比較幾種方法發現下面這篇部落格中的實現比較有用:

[樣式展示]

[功能原理]

1.畫一塊透明窗體,截form後的背景

2.新增panel,將panel的dock屬性設定為fill,再將panel的背景色使用argb填充,如color.fromargb(150, 211, 211, 211)為樣式展示的效果

[**]

public

partial

class

form1

:form

private

void

form1_load

(object sender,

eventargs e)

private

void

setbackgroundimagetransparent()

this

.backgroundimage = b;

}private

void

beginset()

private

void

setting()

backgroundimage =

null

; backcolor = color.white;

b_start =

false

;this

.transparencykey = color.white;}}

private

void

endset()

b_start =

false;}

private

void

form1_resize

(object sender,

eventargs e)

private

void

form1_resizebegin

(object sender,

eventargs e)

private

void

form1_resizeend

(object sender,

eventargs e)

private

void

form1_move

(object sender,

eventargs e)

private

void

button1_click

(object sender,

eventargs e)

}

[後語]

Qt 透明窗體實現

一.背景刷成黑色,前景色設為白色。方法一 paltette方式,經測試,該方法不會影響到其他控制項,推薦使用 qpalette bgpal palette bgpal.setcolor qpalette background,qcolor 0,0 0,255 bgpal.setcolor qpale...

C 實現透明窗體

這篇文章不是windows mobile的,而是win32的。這篇文章主要介紹一下c 下如何呼叫windows api函式,這裡也想說一下,windows mobile程式設計不能把眼光只侷限於手機,手機與pc端相結合的程式也是很有挑戰力 很有市場的。所以,這也是我寫這篇文章的原因之一。做delph...

MFC實現窗體透明

mfc建立透明窗體 1 設定窗體屬性為 layeredwindow,並設定窗體為無邊框窗體。設定窗體為layeredwindow long para getwindowlong this getsafehwnd gwl exstyle para ws ex layered setwindowlong...