none
Select Case mit Timer RRS feed

  • Frage

  • Hallo Zusammen

    Ich bin neu im Forum und auch ein absoluter Anfänger im Programmieren.

    In der Schule besuche ich den Kurs "Programmieren mit Visual Basic", dort nutzen wir "microsoft Visual Basic 2010 Express". Jetzt haben wir die aufgabe einen Bildschrimschoner zu erstellen mit Hilfe eines Timers und select case.
    Ich habe nun folgendes geschrieben:

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
    
    Timer1.Tick
    
    Select Case x
    Case 0
    Me.BackColor = Color.Crimson
    Me.ForeColor = Color.Fuchsia
    
    Case 1 
    Me.BackColor = Color.Chocolate
    Me.ForeColor = Color.Chocolate
    
    End Select
    
    End Sub


    Also bem ersten Wechsel (Case 0) geht's, doch beim zweiten Wechsel passiert nichts...
    Wie gesagt bin ich ein Anfänger und möchte nun wissen, wie das denn genau geht mit diesem "case" und dem Timer
    Grüsse AbsoluteDrumming


    Dienstag, 18. Oktober 2011 18:41

Antworten

  • Hallo,

    eine genaue und detaillierte Erklärung zu SELECT CASE findest du z.B. hier http://openbook.galileocomputing.de/einstieg_vb_2008/visual_basic_kap_02_004.htm#mj77158c48f1bc23624c05f2e916718e8f

    In deinem Code überprüfst du mit SELECT CASE X << das X auf einen bestimmten Wert. In einen der nachfolgenden CASE Zweige springst du rein, wenn dieser den Wert von X erfüllt. Da jedoch nicht ganz klar ist was dein X ist, kann ich dir nicht sagen ob deine CASE Zweige OK oder nicht OK sind.

    eine Möglichkeite wäre

    Public Class Form1
        Private x As Integer
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Select Case x
                Case 0
                    Me.BackColor = Color.Red
                Case 1
                    Me.BackColor = Color.Blue
                Case 2
                    Me.BackColor = Color.Purple
                Case 3
                    Me.BackColor = Color.Yellow
                Case 4
                    Me.BackColor = Color.YellowGreen
                    x = -1
            End Select
            x += 1
        End Sub
    End Class
    

    Timer steht bei mir auf 1000ms.

    Dienstag, 18. Oktober 2011 20:04

Alle Antworten

  • Hallo,

    eine genaue und detaillierte Erklärung zu SELECT CASE findest du z.B. hier http://openbook.galileocomputing.de/einstieg_vb_2008/visual_basic_kap_02_004.htm#mj77158c48f1bc23624c05f2e916718e8f

    In deinem Code überprüfst du mit SELECT CASE X << das X auf einen bestimmten Wert. In einen der nachfolgenden CASE Zweige springst du rein, wenn dieser den Wert von X erfüllt. Da jedoch nicht ganz klar ist was dein X ist, kann ich dir nicht sagen ob deine CASE Zweige OK oder nicht OK sind.

    eine Möglichkeite wäre

    Public Class Form1
        Private x As Integer
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Select Case x
                Case 0
                    Me.BackColor = Color.Red
                Case 1
                    Me.BackColor = Color.Blue
                Case 2
                    Me.BackColor = Color.Purple
                Case 3
                    Me.BackColor = Color.Yellow
                Case 4
                    Me.BackColor = Color.YellowGreen
                    x = -1
            End Select
            x += 1
        End Sub
    End Class
    

    Timer steht bei mir auf 1000ms.

    Dienstag, 18. Oktober 2011 20:04
  • Hallo AbsoluteDrumming,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Dienstag, 1. November 2011 14:52
    Moderator