我正在創建無邊框形式,我想向其添加自定義邊框。但是,當我爲表單添加背景時,它不能很好地顯示,並且不透明。無邊界形式的C#透明邊框
這就是我要爲我的境界:
當我設置窗體的透明度,白色的影子消失了,我不知道做什麼用什麼。
我正在創建無邊框形式,我想向其添加自定義邊框。但是,當我爲表單添加背景時,它不能很好地顯示,並且不透明。無邊界形式的C#透明邊框
這就是我要爲我的境界:
當我設置窗體的透明度,白色的影子消失了,我不知道做什麼用什麼。
好吧,我欺騙了一下,但是我所做的只是重寫CreateParams來繪製陰影,即使它是無邊框窗口。它確實是我想要的,所以我隨它去了。
感謝您的幫助!
有一種方法可以在WinForms中使用半透明(alpha)圖像作爲窗體背景,如本文所述:A lovely goldfish desktop pet (using alpha-PNG and GDI+)。
它使用本機互操作將圖像與桌面混合。
此外,檢查出UpdateLayeredWindow function (User32.dll)在pinvoke.net。還有一個如何使用它的例子。
[編輯]
還有上pinvoke.net到Mike Swanson's blog article大約相同的受試者的鏈接。它使用與上述鏈接中描述的相同的代碼,但它是一個VS項目,它完全符合OP的要求:以半透明PNG圖像作爲背景的飛濺形式。
你使用WPF還是WinForms? – ZoolWay 2011-05-03 17:16:07
WinForms。我認爲這將是一個在WPF中做eaiser? – SaintHUN 2011-05-03 17:18:20
對於透明顏色,使用像[Fuchsia](http://msdn.microsoft.com/en-us/library/system.drawing.color.fuchsia.aspx)這樣的顏色可能會有更好的運氣(並且更常用) 。 – 2011-05-03 17:22:13