我有一个类似于任何网络浏览器的程序;但是,我有一个带有文本框和按钮的工具条。我希望能够使用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,以及一个带有文本框和按钮的工具条。
答案 0 :(得分:0)
使用WebBrowser1.Document.Focus()
代替WebBrowser1.Focus()
。