[英]thread was created with a ThreadStart delegate that does not accept a parameter
[英]ThreadStart doesn't accept a parameter
所以,我是VB.NET的新手,我想創建一個簡單的程序ping和掃描打開的端口。 但是,可以ping通,但是掃描端口不起作用,它會一直說“ ThreadStart不接受參數”,而且我也不知道如何解決它。無論如何,端口掃描部分的代碼是:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For i As Integer = Start1.Value To End1.Value
' TT= temp threading
Control.CheckForIllegalCrossThreadCalls = False
Dim TT As New System.Threading.Thread(AddressOf ScanPort)
TT.IsBackground = True
TT.Start(i)
Next
End Sub
?...因此使其接受參數?
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For i As Integer = start1.Value To end1.Value
' TT= temp threading
Control.CheckForIllegalCrossThreadCalls = False
Dim TT As New System.Threading.Thread(AddressOf ScanPort)
TT.IsBackground = True
TT.Start(i)
Next
End Sub
Private Sub ScanPort(ByVal portToScan As Integer)
Debug.Print("Scanning Port: " & portToScan)
System.Threading.Thread.Sleep(1000)
End Sub
在Option Strict On上 ,它看起來像這樣:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
For i As Integer = CInt(start1.Value) To CInt(end1.Value)
' TT= temp threading
Control.CheckForIllegalCrossThreadCalls = False
Dim TT As New System.Threading.Thread(New ParameterizedThreadStart(AddressOf ScanPort))
TT.IsBackground = True
TT.Start(i)
Next
End Sub
Private Sub ScanPort(ByVal portToScan As Object)
Dim port As Integer = CType(portToScan, Integer)
Debug.Print("Scanning Port: " & port)
System.Threading.Thread.Sleep(1000)
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.