我有一个私人小组填写(),其即时通讯试图从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