线程编程的菜鸟问题
我想实现这样的功能窗体上有两个按钮 一个LABEL组件
在运行后实现
点击按钮一 LABEL显示的值 从1一直累加
当点击按钮二时 LABEL的值不再累加
我刚开始学习多线程
这是自己写的程序
可是运行提示我“线程间操作无效:从不是创建控件“label1”的线程访问它”
下面是程序 请各位高手帮我改改
谢谢了
Public Class Form9
Dim Thread1 As New System.Threading.Thread(AddressOf Me.BackgroundProcess)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Thread1.Start()
End Sub
Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Public Sub BackgroundProcess()
Dim i As Integer = 1
For i = 1 To 10000
Label1.Text = i
Label1.Refresh()
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Thread1.Abort()
End Sub
End Class --------------------编程问答-------------------- .net2005开始强制的要求使用Invoke了。可能楼主用的是2005开发环境。你可以考虑用 控件.Invoke来更新界面。或者你的需求用不到线程啊。写个循环:
dim i as Int64
while true
TextBox1.Text = i.ToString()
Application.DoEvents()
i+=1
end while --------------------编程问答-------------------- 我用的就是2005
请问控件.Invoke怎么实现啊 --------------------编程问答-------------------- 如何在子线程中操作窗体上的控件
http://blog.csdn.net/Knight94/archive/2006/03/16/626584.aspx
补充:.NET技术 , VB.NET