2012-04-23 70 views
3

使用C#我創建了一個邊界正常的窗口,但客戶區域是透明的(使用透明鍵)。在XP上,我可以點擊這個(訪問透明區域下面的項目);但是,這不適用於W7。有沒有辦法讓這個工作W7(和XP)?我可以創建一個窗口,其客戶區域是透明的(使用透明度鍵)並點擊?

更新: 感謝所有的快速反應!看起來像我的問題的關鍵是不幸的事實,我碰巧使用黃色作爲我的透明度鍵。我希望它在Visual Studio中脫穎而出,以便我記得它是透明的;而顏色的選擇就是保持點擊效果。只要我改爲灰色的背景色,它就可以正常工作。

+1

嘗試[灰] (http://social.msdn.microsoft.com/Forums/en-US/windowscompatibility/thread/2e9205b8-b78f-471e-8fed-dc07d7e5fda E)? – 2012-04-23 20:43:40

+0

有趣...由於某種原因,我選擇YELLOW作爲我的透明度鍵顏色。當我將其更改爲灰色時,它現在會進行點擊。這對任何人都有意義嗎? – 2012-04-23 20:52:17

+0

Anurag,我想將答案設置爲答案,但您必須將其作爲實際答案發布給我,才能做到這一點。 – 2012-04-23 21:08:45

回答

2

this post的解決方法是將TransparencyKey設置爲Gray

this.BackColor = Color.Gray; 
    this.button1.BackColor = Color.Blue; 
    this.TransparencyKey = Color.Gray; 
0
this.TransparencyKey = this.BackColor; 

這工作正常,我在Windows 7

enter image description here enter image description here

+0

我不是那麼做。我爲透明度鍵設置了顏色,然後將背景顏色分配給相同的顏色(基本相同,但不同)。這可以讓你做「點擊」? – 2012-04-23 20:43:27

+0

這裏是你的截圖。 – user1339260 2012-04-23 20:46:55

+0

此外,窗口設置爲TopMost = true,因爲記事本在我開始打印後變爲活動狀態而不是Form1。 – user1339260 2012-04-23 20:48:56