public sub dosomething
dim i as integer
while 1
i=i+1
end while
end sub
我想让窗体里的label显示i的数值要怎么传递啊
...全文
1712打赏收藏
vb.net 线程间传值的问题
我在form1开了一个线程 td=new Thread(new ThreadStart(addressof dosomething)) td.start public sub dosomething dim i as integer while 1 i=i+1 end while end sub 我想让窗体里的label显示i的数值要怎么传递啊
Private Sub ThreadWork()
While True
Dim objDelegate As MyDelegate = New MyDelegate(AddressOf Me.SetLabel)
If Me.Label1.InvokeRequired Then
Me.Label1.BeginInvoke(objDelegate)
End If
System.Threading.Thread.Sleep(500)
intCount += 1
End While
End Sub
Private Delegate Sub MyDelegate()
Private Sub SetLabel()
Me.Label1.Text = CStr(intCount)
End Sub
Private myThread As System.Threading.Thread = Nothing
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Me.Button2.Text = "Start" Then
Dim t As System.Threading.Thread = New Threading.Thread(AddressOf Me.ThreadWork)
t.Start()
Me.myThread = t
Me.Button2.Text = "Stop"
Else
If myThread IsNot Nothing AndAlso myThread.IsAlive Then
Try
myThread.Abort()
Catch
End Try
Me.Button2.Text = "Start"
End If
End If
End Sub