成都网站建设设计

将想法与焦点和您一起共享

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://chengdu.cdxwcx.cn/article/doepjde.html