X秒/点击后如何停止计时器

时间:2013-03-31 08:15:27

标签: vb.net browser refresh

我有一个应用程序,根据我选择的速度,每秒自动点击一次按钮大约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浏览器。我不知道如何开始这个,如果有人可以引导我在右边我会感激的。 (对不起,语法错误/在句子上运行,我是英语新手)

2 个答案:

答案 0 :(得分:2)

您的代码存在一些问题。首先,您似乎没有在任何地方使用Timer_TickTimer_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。

如果这没有帮助,请质疑我的答案。

祝你好运!