Как я могу подключить несколько окон в C #? - PullRequest
0 голосов
/ 21 июня 2009

Я пытаюсь создать приложение, которое делает окно (внешнее по отношению к приложению) прозрачным, когда оно теряет фокус. Большинство вещей (получение идентификатора окна, настройка прозрачности и т. Д.) Будет простым, за исключением одного - как мне перехватить окна?

1 Ответ

1 голос
/ 21 июня 2009

Вы можете использовать взаимодействие. Используйте функцию SendMessage () , чтобы отправить вашему окну пользовательское сообщение. Затем окно может вызвать SetLayeredWindowAttributes () , как только вы получите это сообщение, чтобы изменить его прозрачность.

Другое дело, что вы действительно должны сделать окно прозрачным, когда оно теряет фокус, слушая WM_KILLFOCUS

EDIT:

Зафиксируйте события деактивации и активации в 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 ;
    }
...