簡體   English   中英

ThreadStart不接受參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM