контроль веб-браузера проверяет, была ли нажата клавиша возврата в текстовом поле - PullRequest
2 голосов
/ 12 января 2011

В моем приложении winform у меня есть контроль веб-браузера. Мне нужно обработать нажатие клавиши Backspace, чтобы перейти на другую страницу, когда эта кнопка была нажата. Я обнаружил PreviewKeyDown событие элемента управления веб-браузера.

Я использовал это событие, но теперь мне нужно проверить, была ли нажата кнопка возврата назад внутри текстового поля или какой-либо текстовой области. Пользователь должен ввести эти элементы управления. Теперь, когда он пытается удалить какой-то неправильный символ, мое приложение отлавливает событие previewkeydown и перемещает пользователя на другую страницу.

Как я могу проверить, нажимает ли пользователь клавишу Backspace, когда он находится в текстовом поле?

1 Ответ

1 голос
/ 03 октября 2011
    public Form1()
    {
        InitializeComponent();
        webBrowser1.Navigate("google.com");
        webBrowser1.PreviewKeyDown += new PreviewKeyDownEventHandler(webBrowser1_PreviewKeyDown);
    }

    void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        if (e.KeyCode == Keys.Back)
        {
            string activeTag = webBrowser1.Document.ActiveElement.TagName.ToLower();
            if (activeTag == "input" || activeTag == "textarea")
            { }
            else
            { }
        }
    }
...