我有一个应用程序,根据我选择的速度,每秒自动点击一次按钮大约1次。但是,它超时,所以我需要为此页面添加刷新。我需要在点击这么多次timer1
之后停止WebBrowser1.Refresh()
,然后在完成刷新后,timer1
启动点击,然后重新完成整个过程。我不知道如何开始这个,因为我以前从未停止过计时器,但我一直在阅读它并且它看起来相对容易。这是我正在使用的脚本:
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If RadioButton1.Checked = True Then
Timer1.Interval = 40
ElseIf RadioButton2.Checked = True Then
Timer1.Interval = 100
Else
Timer1.Interval = 500
End If
If ((WebBrowser1.IsBusy)) Then
Else
WebBrowser1.Document.GetElementById("NewGamertag").SetAttribute("value", txtTurbo.Text)
Timer1.Start()
End If
End Sub
正如您所看到的,一旦按下按钮一次又一次Timer1.Start()
,并且在Timer1.start()
的代码中,您可以看到要点击一次的代码:
WebBrowser1.Document.GetElementById("claimIt").InvokeMember("Click")
它的工作原理,但是我需要在经过这么多点击/秒后停止我的Timer1
并且有一个刷新的Web浏览器。我不知道如何开始这个,如果有人可以引导我在右边我会感激的。 (对不起,语法错误/在句子上运行,我是英语新手)
答案 0 :(得分:2)
您的代码存在一些问题。首先,您似乎没有在任何地方使用Timer_Tick
或Timer_Elapsed
事件(我不知道您使用的是哪个Timer; .NET Framework中有多个计时器类),这是在间隔完成时将触发的ACTUAL事件。其次,可以通过设置Enabled
属性来启用/禁用定时器,这是您在任何地方都没有做到的。您还应该查看Enabled
属性如何与Interval
属性一起使用,以确保其行为完全符合您的预期。
答案 1 :(得分:1)
最简单但不一定是“最干净”的方法是声明一个公共整数变量。
即
Public Class Form1
'Public variables are decleared here
Dim number_of_ticks as integer = 0
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
在Timer_Tick事件中,您只需将1添加到number_of_ticks变量。
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
If Not number_of_ticks > 100 Then
'[EDIT:] I forgot to increase the number_of_ticks
number_of_ticks += 1
'put your code here
Else
'number_of_ticks has exceed the maximum amount of allowed ticks
Timer1.Stop()
End If
End Sub
<强> [编辑:] 每次运行代码时,number_of_ticks + = 1都会增加一次变量。 我再一次为自己的错误道歉。
要限制允许的滴答数量,只需增加/减少number_of_ticks变量即可。 如果你的定时器间隔是500ms,那么Timer_Tick事件将每秒被提升两次,因此在一秒钟之后 - number_of_ticks将是2。 如果您希望计时器运行10秒钟,请将number_of_ticks设置为20。
如果这没有帮助,请质疑我的答案。
祝你好运!