资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net委托与线程 net 委托

VB.NET中的多线程和委托是什么关系? 能不能给我一个通俗易懂的范例,谢谢

委托,Delegate

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了水城免费建站欢迎大家使用!

就是让你处于这个线程里时,委托另一个线程去执行一些动作

我简单举一个写richtextbox的例子:

////////////////////////////////////////////

'创建一个名为 MySubDelegate 的委托。

Delegate Sub MySubDelegate(ByVal txt As String)

'写信息到富文本主窗口

Private Sub txtW(ByVal txt As String)

Dim msgd As New MySubDelegate(AddressOf Me.txtW1)

Dim arg(0) As Object

arg(0) = txt

Me.Invoke(msgd, arg)

End Sub

'委托指向

Private Sub txtW1(ByVal txt As String)

Me.RichTextBox1.AppendText(txt)

End Sub

/////////////////////

这样,你在多线程应用时,在其他线程里用txtW(str)来写richtextbox,就不会产生错误了。不然,直接垮线程写richtextbox,可能会出现和UI线程的冲突。

关于VB.NET中多线程和委托界面假死无响应的问题

Sub bc()

Dim cs As New qq163(AddressOf js)

Application.DoEvnts

Invoke(cs)

End Sub

vb.net 最基本的多线程出错

.net 为了安全,默认不允许跨线程访问操作控件。只能谁创建了控件,谁操作。

这个textbox只能从主线程访问。

解决方案一般有两个

1. 使用委托机制。委托创建线程去访问

2. 设置Me.CheckForIllegalCrossThreadCalls = False 表示不检测跨线程错误


文章名称:vb.net委托与线程 net 委托
文章出自:http://cdkjz.cn/article/doepjde.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220