【问题标题】:webbrowser control check if backspace was pressed in textboxwebbrowser 控件检查是否在文本框中按下退格键
【发布时间】:2011-01-12 16:56:17
【问题描述】:

在我的 winform 应用程序中,我有 webbrowser 控件。 按下此按钮时,我需要处理退格键以导航到另一个页面。我发现了 webbrowser 控件的 PreviewKeyDown 事件。

我使用了这个事件,但现在我需要检查是否在文本框或某些文本区域内按下了退格按钮。用户需要输入该控件。现在,当他尝试删除一些错误的字符时,我的应用程序正在捕获 previewkeydown 事件并将用户导航到其他页面。

我如何检查用户在文本框中时是否按退格键?

【问题讨论】:

  • 你钩了哪个控件PreviewKeyDown事件?
  • webbrowser 控件有 PreviewKeyDown 事件。如果 e.KeyCode == Keys.Back 处理此事件,我只能将某些布尔变量设置为 true。我无法中止按键操作。

标签: c# winforms webbrowser-control keydown


【解决方案1】:
    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
            { }
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多