[VB] Button Countdown

10/30/2014 16:52 sexualising#1
Hallo e*pvp!

Also. Ich mache grade einen kleinen Bot über Webbrowser Control.
Und bräuchte einen Button mit einem 5 Sekunden Countdown.
Der Countdown soll beginnen wenn Form1 geöffnet wird.

Also hier ein Beispiel.
Text: 5 (Button nicht anklickbar)
Text: 4 (Button nicht anklickbar)
Text: 3 (Button nicht anklickbar)
Text: 2 (Button nicht anklickbar)
Text: 1 (Button nicht anklickbar)
Text: Spenden (Button anklickbar)
10/30/2014 16:57 MaBarker#2
Ich versteh die frage jetzt glaubich nicht ganz.
Wenn ich dich richtig verstanden habe brauchst du jetzt einen Button und wenn man drauf klickt startet ein 5 Sekunden Timer welcher in einem Label der jede Sekunde geupdated wird ausgegeben wird.


Wie schon gesagt.
Du brauchst nen Button.
Beim Klick startest du einen Timer welcher einen Intervall von 5000(5 Sek) hat.
Dann brauchst du eine kleine Update Funktion und einen Label.
Die Update Funktion muss dann jede Sekunde erfolgen und muss den Label Updaten und der Label muss einfach die zeit von dem Timer ausgeben.

so würd ich es machen ^^
10/30/2014 17:18 sexualising#3
Quote:
Originally Posted by MaBarker View Post
Ich versteh die frage jetzt glaubich nicht ganz.
Wenn ich dich richtig verstanden habe brauchst du jetzt einen Button und wenn man drauf klickt startet ein 5 Sekunden Timer welcher in einem Label der jede Sekunde geupdated wird ausgegeben wird.


Wie schon gesagt.
Du brauchst nen Button.
Beim Klick startest du einen Timer welcher einen Intervall von 5000(5 Sek) hat.
Dann brauchst du eine kleine Update Funktion und einen Label.
Die Update Funktion muss dann jede Sekunde erfolgen und muss den Label Updaten und der Label muss einfach die zeit von dem Timer ausgeben.

so würd ich es machen ^^
Ok, habs schlecht erklärt.
Wenn ich Form1 öffne, also die Hauptform, soll ein Button von 5 runter zählen
und dann anklickbar sein.
10/30/2014 17:46 tolio#4
Code:
        Dim t As Task = New Task(Sub()
                                     For i As Int32 = 5 To 1 Step -1
                                         Dim iteration As Int32 = i
                                         Me.Invoke(Sub()
                                                       Me.Button1.Text = iteration.ToString()
                                                   End Sub)
                                         Threading.Thread.Sleep(1000)
                                     Next
                                     Me.Invoke(Sub()
                                                   Me.Button1.Enabled = True
                                                   Me.Button1.Text = "Go"
                                               End Sub)
                                 End Sub)
        t.Start()
10/30/2014 18:10 sexualising#5
Quote:
Originally Posted by tolio View Post
Code:
        Dim t As Task = New Task(Sub()
                                     For i As Int32 = 5 To 1 Step -1
                                         Dim iteration As Int32 = i
                                         Me.Invoke(Sub()
                                                       Me.Button1.Text = iteration.ToString()
                                                   End Sub)
                                         Threading.Thread.Sleep(1000)
                                     Next
                                     Me.Invoke(Sub()
                                                   Me.Button1.Enabled = True
                                                   Me.Button1.Text = "Go"
                                               End Sub)
                                 End Sub)
        t.Start()
Danke! :)
Kurz überlegen müssen was nicht passt.
Musste Button1 noch auf: Enabled = False stellen.