Hallo Ihr,
ich mache schon ne Weile in VB rum aber immer nur so kleckerweise, darum komme ich manchmal an die mir nicht so logisch erscheinenden Grenzen meines Wissens über VB 2010.
Ich habe meiner Meinung nach was recht simples. Ich habe 12 Labels untereinander. Ich möchte folgendes erreichen.
Klick auf StartButton:
-2 Töne erklingen
-label1 färbt sich rot
-Zeit zählt 30 Sekunden runter und stellt dies in einem LabelX dar.
-nach 30 Sekunden ein weiterer Ton erklingt und Label 1 färbt sich grün
-nach 90 Sekunden Label1 färbt sich gelb
-nach 30 Sekunden Label2 färbt sich blau
jetzt soll er gleiche Prozedur mit Label2 machen
Nachdem Label2 -blau- ist soll mit einem Klick auf Button "weiter" selbe Prozedur erneut gestartet werden aber diesmal mit Label3 und Label4.
Danach mit Label5 udn Label6 usw. und so fort.
Die Prozedur an sich habe ich ohne Probleme hin bekommen. Nur möchte ich nicht für jedes zweierpacket Labels eine neuen Timer einfügen.
Ich muss dem Timer1_Tick ja sagen was er tun soll wenn er auf 0 steht ergo die 30 sek. abgelaufen sind. Wenn Ich Ihm hier sage gehe zu Label3 dann würde er jedesmal wieder dahin gehen.
Ich hoffe Ihr versteht was ich meine. Ich hätte im Grunde gerne dass der Timer1_Tick im Private Sub selber ausgeführt wird. Aber das geht scheinbar nicht, bzw. entzieht sich das meiner Kenntniss. Wahrscheinlich gibts ne recht simple Lösung dafür.
Hier noch der Code .Ich habe 2 Timer 1x 30 Sekunden und 1x 90 Sekunden
ich mache schon ne Weile in VB rum aber immer nur so kleckerweise, darum komme ich manchmal an die mir nicht so logisch erscheinenden Grenzen meines Wissens über VB 2010.
Ich habe meiner Meinung nach was recht simples. Ich habe 12 Labels untereinander. Ich möchte folgendes erreichen.
Klick auf StartButton:
-2 Töne erklingen
-label1 färbt sich rot
-Zeit zählt 30 Sekunden runter und stellt dies in einem LabelX dar.
-nach 30 Sekunden ein weiterer Ton erklingt und Label 1 färbt sich grün
-nach 90 Sekunden Label1 färbt sich gelb
-nach 30 Sekunden Label2 färbt sich blau
jetzt soll er gleiche Prozedur mit Label2 machen
Nachdem Label2 -blau- ist soll mit einem Klick auf Button "weiter" selbe Prozedur erneut gestartet werden aber diesmal mit Label3 und Label4.
Danach mit Label5 udn Label6 usw. und so fort.
Die Prozedur an sich habe ich ohne Probleme hin bekommen. Nur möchte ich nicht für jedes zweierpacket Labels eine neuen Timer einfügen.
Ich muss dem Timer1_Tick ja sagen was er tun soll wenn er auf 0 steht ergo die 30 sek. abgelaufen sind. Wenn Ich Ihm hier sage gehe zu Label3 dann würde er jedesmal wieder dahin gehen.
Ich hoffe Ihr versteht was ich meine. Ich hätte im Grunde gerne dass der Timer1_Tick im Private Sub selber ausgeführt wird. Aber das geht scheinbar nicht, bzw. entzieht sich das meiner Kenntniss. Wahrscheinlich gibts ne recht simple Lösung dafür.
Hier noch der Code .Ich habe 2 Timer 1x 30 Sekunden und 1x 90 Sekunden
VB.NET-Quellcode
- Private Sub Starte_Fita_Frei_D1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Starte_Fita_Frei_D1.Click
- vorlauf_start()
- End Sub
- Private Sub vorlauf_start()
- My.Computer.Audio.Play(Application.StartupPath & "\Horn.wav", AudioPlayMode.WaitToComplete)
- My.Computer.Audio.Play(Application.StartupPath & "\Horn.wav", AudioPlayMode.WaitToComplete)
- If AB1.BackColor = Color.Transparent Then
- AB1.BackColor = Color.Red
- End If
- Timer1.Start()
- End Sub
- Private Sub vorlauf_ende()
- My.Computer.Audio.Play(Application.StartupPath & "\Horn.wav", AudioPlayMode.WaitToComplete)
- If AB1.BackColor = Color.Red Then
- AB1.BackColor = Color.Green
- Timer2.Start()
- End If
- If AB1.BackColor = Color.Blue Then
- 'vorlauf_start()
- End If
- Timer2.Start()
- End Sub
- Public Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Vorlaufzeit -= 1
- Label11.Text = CStr(Vorlaufzeit)
- If Vorlaufzeit = 0 Then
- Timer1.Stop()
- vorlauf_ende()
- End If
- End Sub
- Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
- Schieszeit -= 1
- Label11.Text = CStr(Schieszeit)
- If Schieszeit = 30 Then
- AB1.BackColor = Color.Yellow
- End If
- If Schieszeit = 0 Then
- Timer2.Stop()
- AB1.BackColor = Color.Blue
- End If
- End Sub