有关VB中单击事件的更多信息

时间:2016-08-03 12:03:49

标签: vb.net events click

我想创建一个多次重复相同动作的机器人。有什么方法可以获得有关点击事件的更多信息。假设我在打开的文件资源管理器窗口中单击某处。程序可以告诉我单击该窗口中的特定区域或按钮吗?我可以在特定(已打开)窗口中单击或键入程序吗? 感谢

1 个答案:

答案 0 :(得分:1)

是的,程序可以告诉您何时单击特定按钮。无论您点击什么按钮,都会触发其点击事件(如果存在)。为了手动告诉程序执行此操作,您可以实现短语..

btn.PerformClick()

其中“btn”是您需要点击的任何按钮的名称。每当调用此短语时,btn_Click事件处理程序将被激发,就像您自己实际单击该按钮一样。

使用程序中的实际窗口或表单执行相同的操作比较棘手,因为没有内置方法可以调用以触发Windows窗体单击事件。但这是可能的。定义窗口事件处理程序并触发它的代码将是..

Private Sub myWindow_Click() Handles MyBase.Click
    'code you want to run on click event here
End Sub

myWindow_Click() 'where you want the click to be triggered

然而,在方法调用中进行模拟会更简单。

最后,为了模拟在窗口中键入文本,您可以只访问要更改的控件的text属性,然后将该文本属性更改为所需的文本。但从你的问题来看,你希望这与人类的方式类似。 这也可以通过一些工作来完成,使用附加到控件文本的计时器间隔。

让我们举例来说,你想要将“hello world”输入到屏幕上的文本框中。向表单添加一个计时器控件,并将其间隔设置为250,或者您希望单词在类型和方法中快速设置。

Dim str as String = ""
Dim pos as Integer = 0

Public Sub humanType(word as String)     
    str = word
    Timer1.enabled = true
End Sub

public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    myTextBox.Text = myTextBox.Text + str[pos]
    pos = pos + 1
    If pos = str.length Then
        Timer1.enabled = false
    End If  
End Sub

如果您之前从未使用过计时器间隔,那么本教程将为VB.Net提供一些很好的信息。 http://www.techrepublic.com/article/perform-actions-at-set-intervals-with-vbnets-timer-control/

希望它有所帮助!