Есть ли способ перехватить сочетания клавиш, которые обрабатываются элементом управления System.Windows.Forms.WebBrowser? - PullRequest
0 голосов
/ 19 января 2012

У меня есть элемент управления WebBrowser, который используется для генерации отформатированного HTML-кода в нашем приложении.Однако сочетания клавиш, такие как Копировать / Вырезать / Вставить / Выбрать все, передаются элементом управления, когда для WebBrowserShortcutsEnabled установлено значение true.Эти операции удобны для выполнения самим элементом управления, однако есть определенные операции, такие как Ctrl + S, которые используются в родительском элементе управления, которые должны использоваться для сохранения / сохранения всех и т. Д. Когда элемент управления WebBrowser имеет фокус, этидругие сочетания клавиш не передаются родительскому элементу управления.Есть ли способ, которым я могу похитить эти события клавиатуры программно?

Я пытался использовать событие PreviewKeyPress для передачи одиночных нажатий клавиш родительскому элементу управления, но у меня возникают трудности с передачей нескольких нажатий клавиш.Есть идеи?

1 Ответ

1 голос
/ 20 января 2012

Вы можете попробовать переопределить WndProc

protected override void WndProc(ref Message m)
{
    //Check Msg and WParam for your combination...

    base.WndProc(ref m);
}

В противном случае этот ответ показывает, как захватывать нажатия клавиш, используя SetWindowsHookEx , который должен привести вас туда, если ничего не помогает.

...