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 中 使用委托能带来什么好处吗?
多线程中用委托,不会冲突。
在类中用委托,也可以方便模块思路。
VB.NET/C# 委托传递执行过程
Public Class SP
Public P As New ToolStrip
' Delegate Sub B_CLIKE(tb As Object, e As EventArgs)
' Public Sub ZR(Name As String, BClick As B_CLIKE)
Public Sub ZR(Name As String, BClick As EventHandler)
Dim b As New ToolStripButton
b.Text = Name
b.DisplayStyle = ToolStripItemDisplayStyle.Text
AddHandler b.Click, BClick
' AddHandler b.Click, AddressOf BClick
P.Items.Add(b)
End Sub
End Class
vb.net 给委托的函数传递参数
两个参数:一个是数组名,一个是传递的长度
Function thename(ByVal imgFrom As Image) As String
thename = imgFrom.Name
End Function
Private Sub Image1_Click()
MsgBox thename(Image1)
End Sub
分享题目:vb.net委托 vbnet mouse_event
分享地址:http://scgulin.cn/article/doiospg.html