форма не получает должного внимания в C # - PullRequest
0 голосов
/ 07 февраля 2012

Я написал небольшое приложение, которое содержит только текстовое поле. Я включил комбинацию клавиш, используя низкоуровневую клавиатуру, чтобы при необходимости сосредоточиться на приложении. Все работает нормально, я нажимаю короткую клавишу, т. Е. (Левая клавиша управления) + (левая клавиша управления), когда приложение впервые получает надлежащий контроль (фокус). Но когда я деактивирую и возвращаю комбинацию клавиш, значок приложения на панели задач начинает мигать, а форма не получает фокус, строка заголовка становится серой.

Дополнительная информация:

  1. при деактивации непрозрачность формы уменьшается, но остается сверху, поэтому все время форма отображается на экране
  2. Эта форма активируется из другого класса в приложении.
  3. При активации события непрозрачность формы увеличена, поэтому она теперь очень хорошо видна

Я обращаю внимание на приложение, используя форму. Activate (), которую я также пытался использовать. Видимо, но безуспешно. Активация работает только в первый раз, сообщив, что значок на панели задач мигает.

Кто-нибудь знает, почему это происходит?

1 Ответ

1 голос
/ 07 февраля 2012

Этот ответ относится и к вам: https://stackoverflow.com/a/3789985/64121. Вам нужно использовать API-функцию AttachThreadInput , чтобы отвести фокус от другого приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...