Клавиши DEL и BACKSPACE извлекаются из WebBrowser - PullRequest
5 голосов
/ 19 мая 2011

У меня есть настраиваемая область задач в надстройке Outlook VSTO, в которой размещается элемент управления System.Windows.Forms.WebBrowser. Все работает хорошо, но в веб-формах не работают клавиши DEL и BACKSPACE. Как будто что-то съедает эти ключи прежде, чем они попадут в браузер.

Любые указатели приветствуются.

EDIT:

Кажется, что нажатие WebBrowser не активирует родительскую область задач. Если я добавлю простой TextBox в качестве родственного элемента к WebBrowser, а затем щелкну мышью по TextBox, цвет строки заголовка панели задач изменится, показывая, что он получил фокус. Далее, если я нажму WebBrowser, Del и Backspace начнут работать.

Если я уберу фокус с панели задач и вернусь к нему, щелкнув WebBrowser, панель задач не получит фокус (строка заголовка остается закрашенной несфокусированным цветом), и проблема Del и Backspace снова возникнет.

Почему область задач не знает, что браузер получает фокус?

1 Ответ

0 голосов
/ 29 мая 2017

Отказ от ответственности: мой ответ не связан с плагином Outlook, но может помочь будущим посетителям, которые могут найти эту страницу с помощью поисковой системы (так же, как и я).Это относится к описанной проблеме, но в другом контексте.

Сегодня 2017, ни один из ответов не сработал (удален, связан и другие найдены поиском Google).Я обнаружил, что в моей ситуации (встроенный элемент управления ActiveX на веб-странице) DEL и BACKSPACE, а также другие управляющие клавиши (HOME, END, клавиши со стрелками) начинают работать после нажатия клавиши TAB и продолжают работать после этого.

Я добавил

obj.focus();

Сразу после установки .Url в моем Javascript, и это волшебным образом решило проблему (obj - это мой браузер ActiveX, написанный на .NET, использующий управление браузером WPF подкапот).

SendKeys , установка фокуса изнутри управляющая и перехватывающая клавиши в .NET не помогли .

...