通过单击按钮将焦点设置到Visual Basic 2010中的WebBrowser控件

时间:2014-09-27 05:16:02

标签: vb.net visual-studio-2010

该计划

我有一个类似于任何网络浏览器的程序;但是,我有一个带有文本框和按钮的工具条。我希望能够使用Sendkeys.Send方法将文本框中的文本发送到webbrowser控件。问题是,为了单击按钮发送文本,必须先关注web浏览器,然后再单击按钮。这是一个问题,因为在发送文本之前无法在文本框中键入文本,否则webbrowser控件将失去焦点并阻止它发送任何内容。

我的目标

加载webbrowser后,我导航到一个页面,我希望能够使用文本框和按钮向其发送文本。因此,为了做到这一点,我必须(假设)以编程方式关注webbrowser控件。

我的代码:

Private Sub ToolStripMenuItem15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles ToolStripMenuItem15.Click

    WebBrowser1.Focus() ' set focus to webbrowser (!DOES NOT WORK!)
    SendKeys.Send("{ENTER}")
    SendKeys.Send(ToolStripTextBox1.Text & " " & ToolStripTextBox4.Text)
    SendKeys.Send("{ENTER}")

End Sub

我也知道用于调用网页中特定元素的“InvokeMember”方法,但我不需要,因为文本框(在加载的网页中)已经集中。我只需要关注webbrowser CONTROL以便使用按钮发送文本。

编辑:如果它有助于可视化程序,它只包含一个webbrowser,以及一个带有文本框和按钮的工具条。

1 个答案:

答案 0 :(得分:0)

使用WebBrowser1.Document.Focus()代替WebBrowser1.Focus()