1

選択した速度に応じて、毎秒約 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ブラウザーを更新する必要があります。これを開始する方法がわかりません。誰かが私を正しい軌道に導くことができれば、感謝します. (悪い文法/文でごめんなさい、私は英語が初めてです)

4

2 に答える 2

2

コードにはいくつかの問題があります。まず第一に、どこでも使用Timer_TickまたはTimer_Elapsedイベントを行っていないようです (どのタイマーを使用しているのかわかりません。.NET Framework には複数のタイマー クラスがあります)。これは、間隔の完了時に発生する実際のイベントです。第二に、タイマーは、そのプロパティを設定するだけで有効/無効にすることができEnabledます。これはどこでも行っていません。また、プロパティが期待どおりに動作することを確認するために、プロパティとプロパティがどのようEnabledに連携するかを確認する必要があります。Interval

于 2013-03-31T08:27:57.250 に答える
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 イベントでは、number_of_ticks 変数に 1 を追加するだけです。

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 は、コードが実行されるたびに変数を 1 回増やします。もう一度、私の間違いをお詫び申し上げます。

許可されるティック数を制限するには、単純に number_of_ticks 変数を増減します。タイマー間隔が 500 ミリ秒の場合、Timer_Tick イベントは 1 秒に 2 回発生するため、1 秒後に number_of_ticks は 2 になります。タイマーを 10 秒間実行する場合は、number_of_ticks を 20 に設定します。

これで解決しない場合は、私の回答に質問してください。

幸運を!

于 2013-03-31T14:06:56.403 に答える