2012-04-21 231 views
0

我有一個C#WinForm有一個透明的石灰密鑰。我還將表單的背景顏色設置爲Lime。這對於按鈕和幾乎任何你能想到的東西都很有用。該表單看起來不存在,並允許我創建自定義外觀表單。透明圖像搞亂透明圖像

我有一個透明背景的圖片框,圖片框圖片有陰影。當我運行應用程序時,投影不透明。卓爾陰影具有背景顏色(石灰)的背景顏色。它看起來很可怕。

我該如何獲得一個透明表格,該表格還允許透明圖片正確放置。

程序如SWTOR遊戲啓動器有這個很好的背景投影,所以我知道這是可能的。

謝謝!

+0

不要指望SO用戶安裝遊戲啓動器,以便他們可以回答你的問題。更好地記錄您的問題,至少需要截圖。 – 2012-04-21 16:28:53

+0

SWTOR只是他爲不規則窗口區域提供的一個例子,他正在尋找的是我的答案。 – Serdalis 2012-04-21 16:30:56

回答

0

您正在尋找兩件事情之一,無論是Windows Regions
OR
Layered Windows

這裏是C#

還是一個小例子的excellent example我放在一起:

protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) 
    { 
     GraphicsPath gp = new GraphicsPath(); 
     Region r; 
     PointF[] p = new PointF[9]; 
     p[0] = new PointF(70, 0); 
     p[1] = new PointF(170, 0); 
     p[2] = new PointF(240, 70); 
     p[3] = new PointF(240, 170); 
     p[4] = new PointF(170, 240); 
     p[5] = new PointF(70, 240); 
     p[6] = new PointF(0, 170); 
     p[7] = new PointF(0, 70); 
     p[8] = new PointF(70, 0); 
     gp.AddPolygon(p); 

     r = new Region(gp); 
     this.Region = r; 

     gp.Dispose(); 
     r.Dispose(); 
    } 

您需要將此代碼放入您想要的效果中。

+0

測試時不做任何事情 – 2012-04-21 17:27:18

+0

你是怎麼測試它的?爲我完美工作。你知道如何使用'OnPaint'嗎?我應該擴展這個例子嗎? – Serdalis 2012-04-22 03:29:45