2010-11-30 61 views
13

我目前有除此之外的所有預期的效果表單。目前的表格由頂部的菜單條構成,其下面包含標籤和圖片框。當表單啓動時,菜單欄不可見,只有當用戶按下「Alt」按鈕並以相同的方式消失時才能看到菜單欄。C# - 透明表

面板將具有透明背景(.PNG)一個背景圖像。這個圖像將成爲窗體的主要佈局,因爲我將bordertyle設置爲none。現在的問題是,表單在面板下仍然有白色/淺灰色的背景。現在

我的問題是我如何使窗體透明的,所以面板上的圖像成爲主要的佈局,而不是僅僅將圖像與背景色形成它的下面。我不想使用不透明度屬性,因爲我希望面板100%可見。

回答

25

假設的WinForms。

你可以做到這一點,但你不能使邊緣半透明。

試試這個。

在窗體上,設置下列屬性:

BackColor = Color.Lime; 
TransparencyKey = Color.Lime; 

這將使形式透明。然後設置背景圖片:

BackgroundImage = myImage: 

,這也是和backgroundImage的部分Color.Lime也將得到透明。

如果你也想擺脫Forms邊界,加入這一行,以及:

FormBorderStyle = FormBorderStyle.None; 
+0

這並獲得成功!感謝您的迅速回復和詳細的解釋。我簡直不敢相信這是簡單的!再次感謝。 – Citroenfris 2010-11-30 13:34:31

+0

很高興我能幫上忙。當我爲應用程序做了啓動畫面時,我做了同樣的事情。 – 2010-11-30 13:41:02

3

要小心,當你將選擇背景色。選擇Backcolor與您的文本,圖像和任何控件的顏色不同,這意味着選擇一種顏色,您將永遠不會在您的Form中使用顏色,我認爲Fuchsia/lime將是最好的選擇。選擇背景顏色代碼如下:

this.BackColor = Color.Fuchsia; 

,然後作出這樣的顏色爲透明通過使用代碼:

TransparencyKey = Color.Fuchsia;