轉帖|其它|編輯:郝浩|2011-07-29 13:56:28.000|閱讀 1147 次
概述:冒著被拍磚的危險,投放到金喜正規買球。C#制作不規則窗體應該又是一個老生常談的問題了,可能很多老鳥會帶BS的眼神,那么請老鳥們視該文章如浮云吧。制作不規則窗體,本例采用圖片背景形式,這也是通常的思路。以前也做過類似的案例,但都不深入,這次項目中需要用到,順便理了下思路,找到另一種比較簡單的方法,下面介紹下兩種解決方案。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
冒著被拍磚的危險,投放到金喜正規買球。C#制作不規則窗體應該又是一個老生常談的問題了,可能很多老鳥會帶BS的眼神,那么請老鳥們視該文章如浮云吧。
制作不規則窗體,本例采用圖片背景形式,這也是通常的思路。以前也做過類似的案例,但都不深入,這次項目中需要用到,順便理了下思路,找到另一種比較簡單的方法,下面介紹下兩種解決方案。
第一種:也是大家管用的一種方法,實現步驟如下
①:準備一張bmp的圖片,圖片的背景最好為一種簡單純色,方便窗體指定透明色,例如下面圖片:
(圖片背景為白色,邊框是園子的css效果,不能傳bmp,jpg代替)
?、冢涸赩S里面新建窗體,窗體FormBorderStyle:None
?、郏赫业酱绑w的TansparencyKey,將它設置為你背景圖片的背景色(如白色)
OK,第一種設置到這里就可以了,運行效果如下:
沒有任何問題,能夠打到不規則窗體的的效果,但是你會發現,如果你的圖片背景顏色和圖片主內容很接近,或者存在共同顏色的時候,難免會出現鋸齒,部分地方透明模糊等情況,那么如何解決這個問題呢,看第二種解決方案。
第二種解決方案:(采用透明Png圖片格式)
上一種方法用的是bmp格式,這次采用png格式,大家知道png是支持圖片背景透明的。準備圖片如下:
(為了好看一點,直接接了個圖標,證明是png格式,而且背景是透明的,呵呵)
①:同樣創建一個窗體背景圖片指定png格式的圖片
?、冢和瑯釉O置窗體的FormBorderStyle:None
?、郏翰煌c來了哈,這里指定好了圖片png后,窗體的大小可以隨 便設置(當然你要保證能顯示出全部png圖片),之后設定窗體的BackColor:Control(這是默認的,當然你也能修改),最后設定 TansparencyKey等于你的BackColor的顏色即可,這樣就可以完整的顯示出png圖片了
可以看的出,兩種解決方案其實大同小異,不同的是第二種方案靈活性比較高一點,能夠實現些很好的效果,而不會影響圖片質量(毛邊等)。
Show一下花了一天做的一個圖片。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載