189 8069 5689

vb.net线程徐委托 vbs 多线程

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多线程问题

多线程是用于处理复杂项目的

打个比方

你的主程序线程A中有个循环,由于代码是一行行走的,所以循环结束前下面的代码无法运行,而此时主界面的反应就类似卡死的样子,你点击按钮也没有反应,因为主线程在忙着循环呢,所以对按钮的事件代码要等待了,如果要避免这种情况,就要用到多线程,另开一个新线程专门用来执行循环代码,主界面就不会卡死了,只要在循环结束后将结果传回主线程调用就可以了,再复杂点要涉及到委托,控制了

按你的要求其实你的代码用不到多线程,只要把sleep放到两段代码中间就可以了。

新线程结束用thread.abort()

VB.NET多线程程序问题

在多线程中你需要定义委托来修改控件属性

比如你修改Textbox属性,则:

Delegate Sub dl_ShowTextbox(ByVal iStr As String)

Public Sub ShowTextbox(ByVal iStr As String)

If Textbox.IsDisposed Then

Return

End If

If Textbox.InvokeRequired = True Then

Dim pInvoke As New dl_ShowTextbox(AddressOf ShowTextbox)

Me.Invoke(pInvoke, New Object() {iStr})

Else

Textbox.Text = iStr

End If

End Sub

在多线程中调用

ShowTextbox( "要显示的内容" )


名称栏目:vb.net线程徐委托 vbs 多线程
本文网址:http://cdxtjz.cn/article/dopsdge.html

其他资讯