【问题标题】:programmatically press tab in webbrowser control C#以编程方式在 webbrowser 控件 C# 中按 Tab
【发布时间】:2012-01-23 13:10:33
【问题描述】:

我想以编程方式按 Tab 键。我使用了这段代码:

private void BrowserPage_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  webBrowser.Select();
  webBrowser.Focus();
  PreviewKeyDownEventArgs ee = new PreviewKeyDownEventArgs(Keys.Tab);
  webBrowser_PreviewKeyDown(sen, ee);
}

但在网络浏览器中,焦点并未移至下一个控件..

【问题讨论】:

  • 只需将焦点设置在您想要选择的 DOM 元素上,这样您就不必依赖于不稳定的键盘模拟。 HtmlElement.Focus() 方法。

标签: c# .net winforms webbrowser-control keypress


【解决方案1】:

所以当按下 Tab 键时,您希望将焦点放在网络浏览器上?

把你的代码放进去

private void ("what tab is benig pressed on")_KeyPress(object sender,    KeyPressEventArgs e)
{
    if (e.Keychars == keys.Tab)
    {
        webBrowser.Select();
        webBrowser.Focus();
    }            
}

我认为 keys.Tab 应该可以工作,如果不尝试使用谷歌搜索 tab 键的数值并将其代替 keys.Tab

我在哪里放“正在按下哪个选项卡,你会在上面运行按键...而不是 webBrowser

如果我的不正确,希望这会有所帮助,我只是花了 7 个小时在我自己的应用程序上

更新:标签的数值是9

【讨论】:

  • 它不起作用..我想以编程方式在非活动应用程序中按 Tab
【解决方案2】:

确保 webBrowser 控件具有焦点并尝试下一行:

SendKeys.Send("{TAB}");

更多信息herehere

希望对你有帮助。

【讨论】:

  • 它不起作用..我想以编程方式在非活动应用程序中按 Tab 发送键将仅发送到活动应用程序
猜你喜欢
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 2015-06-20
  • 2012-03-11
  • 2017-05-10
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多