vb.net里的delegate的使用,委托使用

Imports System.NET
Imports System.Threading

Public Class FrmLanPC

    Delegate Sub ShowProgressDelegate(ByVal newPos As Integer)

    Private Sub ShowProgress(ByVal newPos As Integer)
        ' 判断是否在线程中访问
        If Not Me.InvokeRequired Then
            ' 不是的话直接操作控件
             Me.progressBarSearch.Value = newPos
        Else
            ' 是的话启用delegate访问
            Dim showProgressDl As New ShowProgressDelegate(AddressOf ShowProgress)
            ' 如使用Invoke会等到函数调用结束,而BeginInvoke不会等待直接往后走
            Me.BeginInvoke(showProgressDl, New Object() {newPos})
        End If
    End Sub


Private Sub FrmLanPC_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBASE.Load
     Dim th As Thread = New Thread(AddressOf InitLanHost)
        th.IsBackground = False
        th.Name = "SearchLanPC"
        th.Start()  
    End Sub

private sub InITLanHost()
for i =0 as Integer to 100
   '...处理其实事务
   '用到委托来更新PrgsBar
    ShowProgress(i)
next
end sub


End Class

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值