我有一個私人小組填寫(),其即時通訊試圖從Button1的調用,在VB.net簡單的多線程
Dim t1 As System.Threading.Thread = New System.Threading.Thread(AddressOf Me.Fill)
t1.Start()
但是形式,當我運行的程序沒有任何反應。我多次單擊該按鈕並且該功能未被執行。是什麼賦予了? Fill函數基本上是從IE輸出一串html到文本框中,運行regex並將結果輸出到列表框中。
誰能幫我找到工作?我會很感激幫助。 編輯:下面是我正在努力工作的填充函數。該函數本身起作用,當我嘗試它沒有多線程。但不是用它...
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><.*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
您是否知道GUI線程/工作線程編組要求? – 2010-01-11 04:20:34
這是VB.Net中多線程的一個小教程: http://chrishaas.wordpress.com/2009/06/25/creating-a-simple-multi-threaded-vb-net-application/ – 2010-01-11 15:14:22