【vb.net 2005】各位帮我看看我的代码为什么错,要怎么改....

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:40:05
Imports System.Threading
Public Class ThreadTest
Public i, j As Integer
Public Sub Method1()
For j = 1 To 10000
Thread.Sleep(1)
TextBox2.Text = 10000 - j
TreeView1.Nodes.Add(j)
Next
End Sub
Public Sub Method2()
For i = 1 To 10000
Thread.Sleep(1)
TextBox1.Text = i
ListBox1.Items.Add(i)
Next
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim th1 As New Thread(New ThreadStart(AddressOf Method1))
th1.Start()
Dim th2 As New Thread(New ThreadStart(AddressOf Method2))
th2.Start()
End Sub

Private Sub ThreadTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Control.CheckForIllegalCrossThreadCalls = False
End Sub
End Class

错误出现在TreeView1.Nodes.Add(j)句

这个问题不可能解决,只能用委托才可以实现!

你要实现什么功能啊?
要加那么多分支?
找找TreeView的用法吧!

你是不是出现了跨线程调用窗体控件的问题?如果你是那个问题的话就要用委托来实现跨线程调用窗体控件的问题,呵呵

对不起我VB好多年没摸了 都忘记了