Задать вопрос
@crescent

CefSharp key event?

Есть windows form в который вставлена cef
Так вот этот cef перехватывает все нажатия клавиатуры и с формы я их поймать не могу.
Как мне это исправить?
  • Вопрос задан
  • 196 просмотров
Подписаться 3 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
В инициализации у себя я сделал так: this.KeyPreview = true;

Потом сделал невидимые кнопки и на них повесил обычные нажатия клавиш.

Через такой класс:
public class KeyboardHandler : IKeyboardHandler
    {
        public bool OnPreKeyEvent(IWebBrowser chromiumWebBrowser, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut)
        {
            if (type == KeyType.KeyUp && Enum.IsDefined(typeof(Keys), windowsKeyCode))
            {
                var key = (Keys)windowsKeyCode;
                switch (key)
                {
                    case Keys.F5:
                        browser.Reload(true);
                        break;
                }
            }
            return false;
        }

        public bool OnKeyEvent(IWebBrowser chromiumWebBrowser, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
        {
            var result = false;
            return result;
        }
    }
}


Свои кнопки не получилось прикрутить (((
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы