Hallo allerseits,
zwar ist dieser Thread schon "eine Zeit lang" ohne Aktivität, wollte aber kein Neuen erstellen, da sich meine Frage (und meine Erfahrung[Newbie]) mit der von spamferkel ähnelt.
In VBTuturials auf youtube und in verschiedenen Foren bin ich zwar fündig geworden, jedoch sind die angewandten Methoden so unterschiedlich, dass es mir schwer fällt, einzelne Objekte zu verknüpfen.
Bisher habe ich zwei Möglichkeiten gefunden:
Wünschenswertes Resultat:
-Ein Countdown, der eine manuell eingegebene Zeit (HH:MM) herunterzählt (Ausgabe in einem Label[HH:MM:SS] sowie einer ProgressBar)
1.Ausgangssituation:
- 2 NumericUpDown, 3 Label, 2 Button, 1 ProgressBar, 1 Timer
Probleme:
- Zeitausgabe läuft nicht korrekt (Eingabe: 1h 0min - Ausgabe: -1:59:59 // Eingabe: 0h 1min - Ausgabe: -1:59:59)
- Programmierung der ProgressBar
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If LabelSekunden.Text = 0 Then
LabelSekunden.Text = 59
LabelMinuten.Text -= 1
End If
If LabelMinuten.Text = 0 Then
LabelMinuten.Text = 59
LabelStunden.Text -= 1
End If
LabelSekunden.Text -= 1
If LabelSekunden.Text = "0" And LabelMinuten.Text = "0" And LabelStunden.Text = "0" Then
Timer1.Stop()
LabelSekunden.Text = "00"
LabelMinuten.Text = "00"
LabelStunden.Text = "00"
End If
If LabelSekunden.Text = 0 Then
MsgBox("...")
My.Computer.Audio.Play("C:\WINDOWS\Media\tada.wav")
End If
End Sub
Private Sub ButtonStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStart.Click
Timer1.Interval = 1000
LabelMinuten.Text = NumericUpDownMinuten.Value
LabelStunden.Text = NumericUpDownStunden.Value
Timer1.Enabled = True
Timer1.Start()
End Sub
Private Sub ButtonStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStop.Click
Timer1.Stop()
End Sub
End Class
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. Ausgangssituation(Quelle:
http://www.tutorials.de/forum/net-cafe/295294-vb-net-countdown.html )
- 1 Textbox, 1 Label, 2 Button, 1 ProgressBar, 1 Timer
Probleme:
- Auslesen der Stunden bzw Minuten (bei einer Eingabe von "HHMM" etc. - es wäre umständlich in Sekunden
umzurechnen) und die entsprechende Programmierung des Timers/ der ProgressBar
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Public Class Form1
Private Sub ButtonStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStart.Click
LabelSekunden.Text = TextBox1.Text
ProgressBar1.Value = 0
ProgressBar1.Maximum = CType(TextBox1.Text, Integer)
Timer1.Start()
End Sub
Private Sub ButtonStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonStop.Click
Timer1.Stop()
End Sub
Private Sub Form1_Load(ByRef sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim N As Integer = CType(LabelSekunden.Text, Integer)
LabelSekunden.Text = CType(N - 1, String)
ProgressBar1.Value = ProgressBar1.Value + 1
If N = 1 Then
Timer1.Stop()
My.Computer.Audio.Play("C:\WINDOWS\Media\tada.wav")
End If
End Sub
End Class
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
MfG
Michael
PS: Bin für jede Lösung oder jeden Verbesserungsvorschlag dankbar.