2016-11-13 86 views
0

我想在WF中創建帶有半透明背景的桌面邊框少部件。就像這樣:C#WF半透明窗體

enter image description here

,但沒有運氣現在。所有我能做到的,是全面的背景透明度

this.BackColor = Color.Black; 
this.TransparencyKey = this.BackColor; 

或者整個表格

this.Opacity = .4; 

有的時候我也花帶的BackgroundImage組合TransparencyKey,但換來的只是一個純黑色的背景。

完全絕望我創建了兩個窗體一個完全透明的文本和第二個不透明的,但我不能保持移動過程中上面的第一個窗口,所以文本變暗。

有沒有可能在WF中做這個或我需要尋找QT或antoher窗口庫。

+0

您可以使用分層窗口。例如,查看[Windows窗體透明背景圖像](http://stackoverflow.com/a/33531201/3110834) –

+0

您通常需要兩個窗口的三明治。底部使用不透明度和使用TransparencyKey的頂部。一般來說,在不可預測的背景上顯示文字是一個非常糟糕的主意。標準的抗鋸齒效果無法正常工作,不再將字母形狀混合到背景中。他們變得非常明顯,文字看起來很醜。只有正確的方法是使用Graphics.CopyFromScreen()創建一個屏幕快照,使用alpha <255的筆刷更改該位圖,然後在其上繪製文本。適用於閃屏。 –

+0

漢斯我做了三明治,字體看起來不錯,但是當背景是透明的時候,你可以點擊窗口並選擇底層的一個,在我的情況下,背景層到頂部,沒有模糊的文字。 – Sajgoniarz

回答

0

經過幾天的研究,我沒有找到任何解決方案在Windows 10工作。它看起來像沒有方法可以在它上面工作。所以我最終在WPF中創建了這個項目,在那裏可以輕鬆製作。