当前位置:编程学习 > C#/ASP.NET >>

线程编程的菜鸟问题

我想实现这样的功能
窗体上有两个按钮 一个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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,