Как реализовать сочетания клавиш на winform с помощью элемента управления CefSharp? - PullRequest
0 голосов
/ 13 февраля 2019

Когда я реализую событие KeyDown в моей форме, событие никогда не сработает.Я нашел сообщения о том, что мне нужно реализовать интерфейс CefSharp.IKeyboardHandler, но я не понимаю, как мне это реализовать.Кто-нибудь может дать мне пример того, как реализовать это, или предложить другое исправление, которое я мог бы использовать, чтобы обойти эту проблему?

Я использую CefSharp версии 49.0.1 и .Net framework 4.0.

Я пытаюсь внедрить сочетания клавиш в мое приложение winform, и для KeyPreview в форме установлено значение True.Проблема, которую я замечаю, состоит в том, что она никогда не вызывает событие KeyDown формы, когда я перехожу через него с включенным отладчиком.

Это код, который я использовал для инициирования события в mainForm:

    public ChromiumWebBrowser browser;

    //is called in the constructor of the class
    public void InitBrowser()
    {
        Cef.Initialize(new CefSettings());
        browser = new ChromiumWebBrowser("www.google.com")
        {
            Dock = DockStyle.Fill,
        };
        this.Controls.Add(browser);
    }

    //trying to open up a messagebox when the "ctrl+w" keys are pressed 
    //whilst the form is active
    private void MCMainForm_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.Control && e.KeyCode.ToString() == "W")
        {
            MessageBox.Show("test");
        }
    }
...