关于vb.net中实现委托的一个问题

窗体form1中有一个文本框strmsg程序中加了一个模块模块中定义子过程main,程序从main()启动main()中打开窗体form1dimform_strmsgas... 窗体form1 中有一个文本框strmsg

程序中加了一个模块 模块中定义子过程main,程序从main()启动

main()中打开窗体form1
dim form_strmsg as new strmsg
form_strmsg.ShowDialog()

并启动一个线程连接服务器,接收数据
Dim remoteEP As New IPEndPoint(Net.IPAddress.Parse(SvrIP), SvrPort)
CliSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
CliSocket.Connect(remoteEP)
myThread = New Thread(AddressOf ReciveMsg)
myThread.Start()

处理数据的函数recivemsg中收到数据时修改strmsg的text

具体如何实现委托呢?查了网上搜到的都是在一个窗体中使用Invoke 模块中不可以啊,具体如何写呢?
展开
 我来答
ChobitsSP
2012-06-18 · TA获得超过445个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:293万
展开全部
把UI对象当做参数传入 比如 Sub a(Form As Form1)
之后再用Form.Invoke(你的委托,参数) 就可以即时修改Form中的内容了
更多追问追答
追问
功能实现上还是有问题,能麻烦您根据我的描述给个范例吗?
追答
myThread = New Thread(AddressOf ReciveMsg)
myThread.Start(Form1)

Sub recivemsg(Form As Form1)
Dim s As String = "Test"
Form.Invoke(New Action(Sub() strmsg.Text = s))
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式