[求助]关于委托显示的问题
vb.net吧
全部回复
仅看楼主
level 1
初学vb.net,想显示点东西真心是不容易啊
如下程序,同样的事件,从Test过程里面产生就能正常显示Description,从SP_Datareceived事件里产生的就不能显示Description,但是语句能执行到TextBox1.Text=Text,
不知何因,请高手指点
串口类
Imports System.IO.Ports
Class SPXX
....Public Event CommandCompleted(ByVal Description As String) '定义指令完成事件
....Prvate WithEvents SP As New SerialPort '定义串口控件
....Private Sub Test() '一个非响应事件的过程
........RaiseEvent CommandCompleted(Description) '产生一个指令完成事件
....End Sub
....Private Sub SP_Datareceived(...........)Handles SP.Datareceived '处理串口的接收事件
........'一些数据处理
........RaiseEvent CommandCompleted(Description) '产生一个指令完成事件
....End Sub
End Class
窗口程序
Class Form1
....Public Shared WithEvents SPX As New SPXX
....Public Delegate Sub DlgShowText(ByVal Text As String)
....Public Sub ShowText(ByVal Text As String)
........TextBox1.Text=Text '程序都能执行到这里,从Test里发生的事件能显示,SP_Datareceived里发生的事件不能显示
....End Sub
....Private Shared Sub SPX_CommandCompleted(ByVal Description As String)Handles SPX.CommandCompleted
........Dim ST As Form1.DlgShowText(AdressOf Form1.ShowText)
........ST.Invoke(Description)
....End Sub
End Class
2014年11月24日 18点11分 1
level 1
大半夜的还在写程序是非常苦逼啊,求各路大神看到了顺手解决一下,不胜感激
2014年11月24日 18点11分 2
level 12
Dim ST As Form1.DlgShowText(AdressOf Form1.ShowText)
ST.Invoke(Description)
修改为:
Dim ST As Form1.DlgShowText(AdressOf Form1.ShowText
BeginInvoke(st, New Object() {Description})
这样看看
2014年11月25日 01点11分 3
谢谢回答,线程间的交互我真的要好好学学
2014年11月26日 02点11分
1