VB.net Einfaches Multithreading

Habe ich eine Private Sub Füllen(), die im Versuch zu nennen, von button1 in form von

Dim t1 As System.Threading.Thread = New System.Threading.Thread(AddressOf Me.Fill)

t1.Start()

Jedoch wenn ich das Programm starte, passiert nichts. Ich klicken Sie auf die Taste mehrere Male, und die Funktion nicht ausgeführt wird. Was gibt? Die Fill-Funktion ist im Grunde eine Ausgabe Bündel von html aus dem IE in ein Textfeld, läuft regex und Ausgabe der Ergebnisse in eine listbox.

Kann mir jemand helfen damit es funktioniert? Ich würde mich über Hilfe freuen.
EDIT: Unten ist die Fill-Funktion, die ich versuche zu arbeiten. Die Funktion selbst funktioniert, wenn ich versuche es ohne multithreading. Aber nicht mit ihm...

Private Sub Fill()
    Try
        For Each links In ListBox2.Items
            Dim blah As Boolean = False
            Do While blah = False
                Application.DoEvents()
                If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
                    blah = True
                    WebBrowser1.Navigate(links)
                    Application.DoEvents()
                    Me.Refresh()
                    'OUTPUT THE REGEX IN RTB
                    Try
                        RichTextBox1.Text = WebBrowser1.Document.Body.OuterHtml
                        RichTextBox1.Update()
                        Application.DoEvents()
                        Me.Refresh()
                        'INTRODUCE REGEX
                        If CheckBox1.Checked = True Then
                            Dim R As New Regex("</H3>&lt;.*gt;")
                            For Each M As Match In R.Matches(RichTextBox1.Text)
                                Dim email As String = M.Value.Substring(9).Split("&;").GetValue(0).ToString
                                ListBox1.Items.Add(email)
                            Next
                        End If
                    Catch ex As Exception
                        Label1.Text = "Error recieved. Program will not stop"
                        Me.Refresh()
                    End Try
                    Application.DoEvents()
                    Me.Refresh()
                End If
            Loop
        Next
    Catch ex As Exception

    End Try
End Sub
InformationsquelleAutor Rudy | 2010-01-11
Schreibe einen Kommentar