我有一个开始按钮停止按钮
启动按钮功能正在运行
如何使用停止按钮停止此功能?
Private Sub startbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
oto("x")
End Sub
Private Sub stopbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
'stop()
End Sub
我可以随时使用按钮停止此功能
Function oto(ByVal url As String)
If CBool(InStr(LCase(anasayfa.WebBrowser1.Url.ToString), url)) = False Then : Return False : End If
Dim sourcecode = anasayfa.WebBrowser1.Document
Dim linkler = sourcecode.GetElementsByTagName("a")
Dim i = 0 : Dim b = 0 : Dim l = 0
If linkler.Count <= 0 Then : Return False : End If
For Each kelime In kelimelistesi()
Application.DoEvents() : i = 0
For Each link As HtmlElement In linkler
Application.DoEvents() : i = i + 1
If Not link.GetAttribute("target") = "_blank" Then
If link.GetAttribute("onclick") = "" Then
If CBool(InStr(link.GetAttribute("href").ToString, kelime)) = True Then : b = i : Exit For : End If
End If
End If
Next
If b > 0 Then : Exit For : End If
Next
If b > linkler.Count Then : Return False : End If
If b > 0 Then : l = b - 1 : anasayfa.ToolStripStatusLabel1.Text = "İlgili link bulundu : " & linkler.Item(l).InnerHtml.ToString() : linkler.Item(l).InvokeMember("click") : waitdocumentloading() : Return True : Else : anasayfa.ToolStripStatusLabel1.Text = "İlgili link bulunamadı" : Return False : End If
End Function
答案 0 :(得分:1)
您可以启动一个运行UI的线程,并在您想要停止线程时中止该线程。
{{1}}
然后,您需要在UI线程(Control.Invoke)上调用UI线程操作。这也消除了调用Application.DoEvents的需要,因为UI上的处理不再存在。
这是一个简单的解决方案,但有一些更优雅的方法可以在非UI线程上工作。您应该在线搜索该主题。