vb.net 线程处理画面

Private isStop As Boolean = False


    Dim th As Thread
    Public Sub TestThread()
        If th IsNot Nothing AndAlso th.IsAlive Then
            Return
        End If
        th = New Thread(AddressOf MyThreadProc)
        '启动线程
        th.Start()
    End Sub


    Dim aa As Integer = 1
    Public Sub MyThreadProc()
        '更新ui资源例子
        '实际更新界面
        While Not isStop
            Me.Invoke(New VoidDelegate(AddressOf UpdateText), "Modified by thread " + aa.ToString)
            Application.DoEvents()
            aa = aa + 1
            System.Threading.Thread.Sleep(5000)
        End While
    End Sub


    '定义委托
    Public Delegate Sub VoidDelegate(ByVal text As String)
    '定义方法
    Public Sub UpdateText(ByVal text As String)
        Label1.Text = text '"Modified by thread " + aa.ToString
    End Sub


   ‘启动线程

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        TestThread()
    End Sub


   ‘终止线程

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        ' isStop = True
        If th IsNot Nothing AndAlso th.IsAlive Then
            th.Abort()
            Me.Invoke(New VoidDelegate(AddressOf UpdateText), "Modified by thread over")
        End If
    End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值