Ciao,
l'applicazione che ho creato acquisisce dati continuativamente da un dispositivo tramite porta seriale. La ricezione dei diversi byte viene captata dell'evento DataReceived.
In caso di ricezione di valori non accettabili, all'utente viene presentato un messaggio di errore (msgerr) rappresentato da un form con una label (in cui viene specificato il tipo di errore) e un OK_button (che chiude la finestra).
Aprendo msgerr tramite comando msgerr.showdialog() inserito nell stesso thread nel quale viene gestita la comunicazione tra pc e dispositivo, questa si arresta fino a quando msgerr non viene chiusa tramite click su OK_button che esegue il comando me.close().
Per far si che la comunicazione non venga interrotta nel momento in cui viene presentato il messaggio di errore, mi servo di un timer che, inizializzato tramite comando "Invoke(New timerDelegate(AddressOf timer1_start))", dopo 1ms (tempo minimo impostabile) apre msgerr eseguendo il comando msgerr.showdialog().
In questo modo l'acquisizione non si interrompe e il messaggio di errore è aperto in modalità showdialog() non permettendo quindi di interagire con il form sottostante, quello principale e quello nel quale vengono presentati i dati ricevuti.
Ok... tutto funziona bene.
Quello che vorrei sapere è se sia possibile ottenere un risultato equivalente senza tuttavia utilizzare il timer e, quindi, senza dover attendere 1ms prima dell'apertura di msgerr.
Grazie