Изменить размер ключа - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть классический класс Form1, который наследует класс Form. Проблема в том, что я нажимаю кнопки, и никакие события не запускаются.
Внутри Form1 есть веб-браузер, который занимает всю форму Form1.

Вот мой код:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        WindowState = FormWindowState.Maximized;
        KeyPreview = true;
        PreviewKeyDown += wb_PreviewKeyDown; 
    }

     private void wb_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        Console.WriteLine("EDOOOOOOOOO");   
        if (e.Control && e.KeyCode == Keys.C)
        {
            // Do something funny!
        }
    }
}

wb_PreviewKeyDown не запускается при нажатии любой кнопки.

1 Ответ

0 голосов
/ 06 ноября 2018

Если вы нажмете клавишу в форме, событие будет запущено.
Однако, если у вас есть TextBox или что-то еще в форме, и вы нажимаете клавишу на нем, событие НЕ будет запущено, потому что теперь TextBox получил ввод.

Это легко исправить, установив свойство KeyPreview = true в форме.
Вы можете установить это в конструкторе или в коде (см. Ответ @Isma)

EDIT: Поскольку у вас есть элемент управления WebBrowser в вашей форме, вам нужно сделать это несколько иначе, см. Это Обработка ключевых событий в элементе управления WebBrowser

Он включает в себя использование PreviewKeyDown события WebBrowser

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