Pari/dispari col timer in alternato

di il
6 risposte

Pari/dispari col timer in alternato

Ciao a tutti, ho vb 2008 express edition,

per ultimare un programmino, vorrei che un pannello cambiasse colore alternativamente ogni secondo, e ho pensato di sfruttare un timer e controllare se i secondi sono pari o dispari, ecco l'esempio:

questo sulla sub del timer:

Label13.Text += 1
        If Label13.Text = "59" Then
            Label12.Text += 1
            Label13.Text = 0
        End If
        If Label12.Text = "59" Then
            Label11.Text += 1
            Label12.Text = 0
        End If

mentre il controllo è:

                    If Int(Label13.Text / 2) = Label13.Text / 2 Then
                        Panel1.BackColor = Color.Red
                    Else
                        Panel1.BackColor = Color.Black
                    End If
 
infatti il label13 è quello dei secondi e continua a cambiare.

il problema è che il colore si cambia una volta sola, cioè non va a guardare se è pari o dispari ogni volta, solo la prima volta.

dove sbaglio?
grazie

6 Risposte

  • Re: Pari/dispari col timer in alternato

    Credo sia più semplice fare così:
        
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Static pari As Boolean
        pari = Not pari
        If Then
            Panel1.BackColor = Color.Red
        Else
           Panel1.BackColor = Color.Black
        End If
    End Sub
  • Re: Pari/dispari col timer in alternato

    Grazie intanto che mi hai risposto,
    ma il problema è che quell'if lo controlla una volta sola, io invece voglio che continui tante tante volte al secondo
  • Re: Pari/dispari col timer in alternato

    Scusa ma non capisco:
    se hai abilitato il Timer, il codice viene eseguito ad ogni ciclo del timer.
  • Re: Pari/dispari col timer in alternato

    Forse ho capito il problema, ma comunque non so risolverlo..

    il controllo lo metto nella sub timer2, ma il label13 (quello che viene controllato) è controllato da un altro timer (timer3).

    ho fatto la prova mettendo invece di label13 il label comandato dal timer 1, e cosi funziona.
    (per "comandato" intendo che il suo valore viene incrementato dal timer)

    il punto è che vorrei che sto pannello lampeggiasse quando il timer2 è fermo..per questo il controllo la faccio sul label13 (comandato dal timer3), ma così non funzia
  • Re: Pari/dispari col timer in alternato

    Non ho capito un granchè...
    Ma non sarebbe sufficiente un timer solo?
  • Re: Pari/dispari col timer in alternato

    Si forse hai ragione, credo d'aver capito come fare.
    grazie mille
Devi accedere o registrarti per scrivere nel forum
6 risposte