网站建设资讯

NEWS

网站建设资讯

关于vb.net多级委托的信息

VB.NET 中事件委托问题

address of 顾名思义,就是地址指向,每个函数都有一个地址,address of后面加函数名称。

成都创新互联公司专注于三明网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供三明营销型网站建设,三明网站制作、三明网页设计、三明网站官网定制、小程序定制开发服务,打造三明网络公司原创品牌,更为您提供三明网站排名全网营销落地服务。

handels 事件,你看看按钮的单击事件,窗体的启动事件,每个后面都有这个。

delegate 就是声明一个委托了。

我也不好详细说,其实你上Baidu搜这几个关键字加上点注解,比如“delegate的用法”,N多!

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中实现委托的一个问题

把UI对象当做参数传入 比如 Sub a(Form As Form1)

之后再用Form.Invoke(你的委托,参数) 就可以即时修改Form中的内容了

vb.net 中在模块(module)里如何实现委托

委托三个步骤

1、声明委托 用Delegate 声明一个委托 类型 参数要和 被委托的方法一样 例如 Delegate Function a(byval x as string) as string

2、实例化委托 dim t as new a(AddressOf Function Name)

3.通过 t(参数) 或者 t.Invoke(参数调用委托)

示例:

Module module1

Delegate Function a(ByVal x As Integer, ByVal y As Integer) As Integer '声明委托类型 委托可以使一个对象调用另一个对象的方法

Function sum(ByVal x As Integer, ByVal y As Integer) As Integer

Return (x + y)

End Function

Sub main()

Dim d As New a(AddressOf sum) '实例化委托

Dim s = 0

s = d.Invoke(1, 2) '执行委托

Console.WriteLine(s.ToString())

s = d(1, 2) '执行委托

Console.WriteLine(s.ToString())

MsgBox("")

End Sub

End Module


新闻名称:关于vb.net多级委托的信息
本文URL:http://cdweb.net/article/dodeise.html