codice:
Private Sub Form_Load()
        If (MessageInformation = "") Then
        MessageInformation = "Wait for a reset message from Administration system (cVidya)."
        timerFlag = 1
    End If
    pgbTempo.Max = Timer1.Interval
    txtMessage.text = MessageInformation
    
End Sub


Private Sub Timer1_Timer()
    If (timerFlag = 1) Then
        Call resetWait
        timerFlag = 3
        txtMessage.text = "Received Reset message from Administration system (cVidya)."
    ElseIf (timerFlag = 2) Then
        Call receive_message
        txtMessage.text = "Received Reset message from Administration system (cVidya)."
        timerFlag = 3
    ElseIf (timerFlag = 3) Then
        pgbTempo.Value = pgbTempo.Value + 1
        If pgbTempo.Value = Timer1.Interval Then
            Unload Me
            frmSIA.Show
        End If
    End If
    
End Sub
Ho una form che uso tipo messagebox.
Ho inserito un timer perchè ho un flusso di programma che deve essere continuativo e si ferma solo nel momento in cui mando a video dei messaggi, si fermano per qualche secondo per visualizzarli e poi svaniscono per continuare con altre operazioni.


Spiego il codice:
la variabile messageinformation è una var globale che ogni volta cambio a seconda del messaggio che voglio visualizzare a video.

Il timerflag è anch'esso una variabile che mi serve per: la prima volta per visualizzare il messaggio di wait nel momento in cui parte il programma e poi la metto a 3 per far si che cicli il tempo del timer.

Poi metto il flag a 2 fuori da questa finestra(un'altra form con tutto iol flusso del mio programma) per farlo successivamente e sempre entrare dove il fglag è 2 perchè da quel momento in poi richiamerò sempre la funzione receive_message.

Nel momento il cui però richiamo la finestra dove è inserito questo codice per la seconda volta il timer non viene chiamato.