2010-08-21 95 views
0

我有一個Windows窗體應用程序,我已經使用DwmExtendFrameIntoClientArea將窗口的框架擴展到客戶區,以獲得玻璃效果。Windows窗體玻璃效果,使圖像框透明

現在我試圖在圖片框中顯示透明的PNG圖像,但背景顯示爲白色而不是玻璃效果。我如何使圖像顯示爲透明,這樣我只能看到圓角的灰色矩形而不是白色背景。

我的截圖如下。謝謝。

alt text

alt text

回答

3

好吧,這是一種容易解決的WinForms問題.....你需要做的,就像blam說的那樣,將透明鍵設置爲:R:1,G:2,B: 3 ...這使得您的表單中的所有內容都以該顏色繪製爲透明...您所需要做的就是將您的圖像框的背景顏色設置爲該顏色......並且它應該透明地繪製圖像的背景(只要你的形象有透明度)

+0

我將我的表單透明度鍵設爲黑色,這正是我用來獲得玻璃效果。然後我還將圖片框背景顏色設置爲黑色。但它沒有奏效。 我99.9%確定我的PNG是透明的。在桌面上,它正確地顯示爲透明。 – ace 2010-08-21 22:53:17

+0

我添加了我的picturebox圖片到問題中,它是透明的。 – ace 2010-08-21 22:54:52

+0

這就是問題所在,你的照片不透明...這裏是透明圖片的鏈接,下載並嘗試使用它。 http://img831.imageshack.us/img831/8227/xkeyh.png – 2010-08-21 23:15:30

0

讓它無論對玻璃的顏色關鍵是:黑色IIRC。

+0

做什麼黑色?將窗體透明度鍵設置爲黑色?我試過它不起作用。 – ace 2010-08-21 22:51:23

+0

此外,當我設置窗體透明度鍵,表單行爲怪異......當我嘗試最大化或關閉它,它失去焦點,只是停留在那裏,按鈕不起作用。然後,我必須右鍵單擊任務欄並從那裏關閉 – ace 2010-08-21 22:56:32