VB.Net程序设计:原始多线程例子VS2008版

Imports System.Threading

Public Class Form1

    Private Sub BtnRunUpdate_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtnRunUpdate.Click
        Me.BtnRunUpdate.Text = "执行..."
        Dim t As Thread = New Thread(New ThreadStart(AddressOf RunDownLoadFile))
        t.IsBackground = True
        t.Name = "RunDownLoadFile"
        t.Start()
    End Sub

    Private Sub RunDownLoadFile()
        For i = 0 To 50
            SetTextBoxData(i)
            Thread.Sleep(100)
        Next
        ResetDownLoadBtn()
    End Sub

    Public Delegate Sub SetTextBoxCallBack(ByVal strText As String)

    Private Sub SetTextBoxData(ByVal strData As String)
        If Me.TxtBoxData.Invokerequired Then
            Dim callback As New SetTextBoxCallBack(AddressOf SetTextBoxData)
            Me.BeginInvoke(callback,New Object() {strData})
        Else
            Me.TxtBoxData.Text = strData
        End If
    End Sub

    Private Sub ResetDownLoadBtn()
        If Me.BtnRunUpdate.Invokerequired Then
            Dim mi As New MethodInvoker(AddressOf ResetDownLoadBtn)
            Me.BeginInvoke(mi)
        Else
            Me.BtnRunUpdate.Enabled = True
            Me.BtnRunUpdate.Text = "完成(&F)"
            Me.BtnRunUpdate.Select()
        End If
    End Sub

    Private Sub BtnReset_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtnReset.Click
        Me.BtnRunUpdate.Text = "重新开始"
    End Sub

End Class

原始多线程例子,没采用lambda表达式。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...