Scusa, era "svuota la memoria" comunque ecco il codice che mi da i problemi.

codice:
Public Sub findprimes(ByVal count As Long)
        'eventualmente pulisci il contenuto della TB
        Me.RichTextBox1.Clear()
        'Aggiungo l'unico numero primo pari:
        Me.RichTextBox1.AppendText("2" + " ")
        'Il numero correntemente analizzato:
        'si parte da 3 e si prendono in consi-
        'derazione solo i numeri dispari
        Dim cur As Integer = 3

        'Col ciclo popolo l'array del risultato
        For i As Integer = 1 To count - 1
start:


            Dim radq As Integer = Math.Sqrt(cur)
            Dim divisore As Integer
            'dato che abbiamo solo numeri dispari,
            'si analizzano solo divisori dispari
            'fino alla radice quadrata del numero
            For divisore = 3 To radq Step 2
                'se il risultato di una divisione
                'da reto zero, il numero non è primo
                If (cur Mod divisore) = 0 Then
                    'quindi aumento di due il numero analizzato
                    '(ottenendo il numero disperi successivo)
                    cur += 2
                    'e ricomincio ad analizzare
                    GoTo start
                End If
            Next
            'se il risultato di nessuna divisione da 0
            'il numero è primo
            Me.RichTextBox1.AppendText(cur)
            Me.RichTextBox1.AppendText(" ")
            Me.ProgressBar1.Maximum = TextBox1.Text
            Me.ProgressBar1.Value += 1
            cur += 2
            multi3d()
        Next

    End Sub
mentre vengono eseguiti i calcoli, se imposto la variabile "count" cn un numero troppo alto, l'interfaccia si blocca e se cambio finestra, anche se imposto numeri bassi, anche 1000. Tu mi hai consigliato un nuovo thread, ma nonostante scrivaa me.update e me.refresh, continua a non funzionare adeguatamente. Evidentemente sbaglio qualcosa, ma cosa? grazie.