Occhio però che nel gestire l'evento dovrai tenere conto del fatto che il tuo gestore eventi è in un altro thread rispetto al resto dell'interfaccia utente, per cui non potrai accedere direttamente ai controlli (per ulteriori informazioni, leggi questo articolo).codice:Public Class NomeClasse Public Event NomeEvento(ByVal NomeParametro As String) Private Worker As New Thread(AddressOf Prova) '...altro... Public Sub Controllo() Worker.Start() End Sub Public Sub Prova() Try While (DoRead) RaiseEvent NomeEvento(SP.ReadLine()) End While Finally SP.Close() SP.Dispose() End Try End Sub