2009-06-21 37 views
0

我正在嘗試創建一個應用程序,它在失去焦點時使窗口(應用程序外部)透明。大部分事情(獲得窗口ID,透明等)都很容易,除了一件事情 - 我如何鉤住窗戶?如何在C#中掛接多個窗口?

+0

假設這是WinForms ... – Noldorin 2009-06-21 11:27:48

回答

1

您可以使用互操作。使用SendMessage()函數可以向您的窗口發送自定義消息。一旦您收到該消息以更改其透明度,該窗口便可致電SetLayeredWindowAttributes()

另一件事是你真的應該能夠使窗口把自己透明的,當它輸了球通過監聽WM_KILLFOCUS

編輯焦點:

含住在C#中停用和激活的事件。

 
    private void Form1_Deactivate(object sender, EventArgs e) 
    { 
     this.Opacity = 0.5 ; 
    } 

    private void Form1_Activated(object sender, EventArgs e) 
    { 
     this.Opacity = 1.0 ; 
    }