我们再创建一个窗体Form2,放一个Label0,如图:
我希望通过Form1的按钮,让Form2中的Label0显示0~9000.
代码如下:
Form1:
Imports System.Threading
Public Class Form1
Dim t As Thread
Private Sub Form1_Load(sender As Object,e As System.EventArgs) Handles Me.Load
Form2.Show()'启动时显示Form2
End Sub
Private Sub Button1_Click(sender As System.Object,e As System.EventArgs) Handles Button1.Click
CheckForIllegalCrossThreadCalls = False
t = New Thread(AddressOf test)
t.Start()
End Sub
Private Sub test()
For i = 0 To 9000
Form2.Label0.Text = i.ToString '注意这里改了
Next
t.Abort()
End Sub
End Class
//运行试试,咦?Form2里面怎么没变?
难道没有执行那句代码?
添加断点看看?
很明显执行了。但是就是没显示,程序不听话了?
CheckForIllegalCrossThreadCalls = False
没辙了吧?
看后文。