Ho creato una classe dove ho inserito le mie funzioni per il thread ,
ora ho creato una barra dei menu con la voce File e sottovoce "Connetti" , alla pressione della voce connetti dovrebbe avviarmi il thread . per fare ciò utilizzo il componente Visual studio backgroundworker , solo che non sembra funzionare come si deve

codice:
imports smspanel.lavoro 


altro codice ...

...
....


Private Sub ConnettiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ConnettiToolStripMenuItem.Click
        Dim lavoro As New Lavoro
        BackgroundWorker1.RunWorkerAsync(lavoro)
End Sub
Classe lavoro

codice:
Imports System.Data
Imports System.Data.OleDb
Imports System.Diagnostics
Imports System.Threading
Imports System.Net.Dns

Public Class Lavoro

    'Creo un Dataadapter per il server con Tabella INBOX
    Dim Comando As OleDbCommand = New OleDbCommand()
    Dim Comando_Server As OleDbCommand = New OleDbCommand()
    Dim ServerAdapter As New OleDbDataAdapter
    Dim Adapter As New OleDbDataAdapter
    Dim ANUMBER As String
    Dim ServerReader As System.Data.OleDb.OleDbDataReader
    Dim ContaRighe As Integer

    Sub lavora()
        Comando_Server.Connection = SmsPanel.Connessione_server
        Comando_Server.CommandText = "SELECT * FROM INBOX"
        ServerAdapter.SelectCommand = Comando_Server
        SmsPanel.Connessione_server.Open()
        ServerReader = Comando_Server.ExecuteReader()
        While ServerReader.Read
            ANUMBER = ServerReader("ANUMBER")
            Comando.Connection = SmsPanel.Connessione
            Comando.CommandText = "SELECT * FROM numeri INNER JOIN email ON email.id_email = numeri.idemail WHERE numero = @ANUMBER"
            Comando.Parameters.AddWithValue("@ANUMBER", ANUMBER)
            'Apriamo la connessione
            SmsPanel.Connessione.Open()
            'Eseguiamo e vediamo se esiste una corrispondenza !
            Try
                ContaRighe = Comando.ExecuteScalar()
            Catch Eccezione As OleDb.OleDbException
                MessageBox.Show(Eccezione.Message)
            End Try
            'Se esiste blocchiamo l'aggiunta 
            If ContaRighe = 1 Then
                SmsPanel.Logbox.Items.Add(Now() & "   Trovata corrispondenza , invio Email")
            Else
                SmsPanel.Logbox.Items.Add(Now() & "   Lettura database in corso")
            End If
            SmsPanel.Connessione.Close()
        End While
        SmsPanel.Connessione_server.Close()
    End Sub
End Class