Originariamente inviato da URANIO
Succede perchè quando setti Timer.Interval questo resetta il timer.
Quindi continua a resettarsi e partire, scatenando l'evento tick fino a quando non arriva a 1.
Sei sicuro?
Secondo me è solo un problema di "tempo" nel senso che Interval è espresso in millisecondi, quindi da 25ms a "scendere" non è che ci sia tanto tempo per accorgersi di quello accade...in pratica è un battito di ciglia.
Esempio con due Timer e due Label, il primo decrementa il suo Interval mentre il secondo una variabile, i due valori sono visualizzati dalle Label, Interval è settato su 2 secondi e il decremento su 50ms:
codice:
Public Class Form1

    Dim contatore_T2 As Integer

    Private Sub Form1_Load() Handles MyBase.Load
        Timer1.Interval = 2000
        Timer2.Interval = 2000
        contatore_T2 = 2000
    End Sub

    Private Sub Button1_Click() Handles Button1.Click
        Timer1.Start()
        Timer2.Start()
    End Sub

    Private Sub Timer1_Tick() Handles Timer1.Tick
        If (Timer1.Interval = 50) Then
            Timer1.Stop()
            Timer2.Stop()
            Label1.Text = "T1= stop"
        Else
            Timer1.Interval = Timer1.Interval - 50
            Label1.Text = "T1= " & Timer1.Interval
        End If
    End Sub

    Private Sub Timer2_Tick() Handles Timer2.Tick
        contatore_T2 -= 50
        Label2.Text = "T2= " & contatore_T2
    End Sub
End Class