标题:[求助]为什么不能触发这个类的事件
取消只看楼主
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
 问题点数:0 回复次数:6 
[求助]为什么不能触发这个类的事件

我做测试的代码,为什么不能触发事件。我设断点一切都正常就是到了AddHandler aa.test, AddressOf Me.T这里时就没反应了,函数T死活没反应谁帮我看一下啊。

=====================以下是主窗体代码
Private Sub T(ByVal strs As String)
MessageBox.Show(strs)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim aa As New Class1("111")
AddHandler aa.test, AddressOf Me.T
End Sub


=====================以下是类代码。==注:我是单写了一个类文件。
Public Class Class1
Dim name As String
Public Event test(byval strs as String)

Public Sub New(ByVal str As String)
name = str
st()
End Sub

Sub st()
'MessageBox.Show("aaa")
RaiseEvent test("1111")
End Sub
End Class

搜索更多相关主题的帖子: Sub ByVal 触发 sender Private 
2007-07-02 09:01
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 

那里根本不能加参数啊。

参数在这里啊。RaiseEvent test("1111")

2007-07-02 11:57
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 

谁来帮我看看啊。

2007-07-02 15:03
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 
试过了,完全没有反应,根本就不报错。
我之前在主要的几条语句上做过断点。一路执行下来都没问题
只是到 AddHandler aa.test, AddressOf Me.T 这句就没动静了。
根本就不执行T函数。

再帮偶想想吧。偶已经想不出是为什么了。
2007-07-02 17:31
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 

高手们都休息去了吗

2007-07-04 16:01
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 

谢谢版主。
我还有几个问题想问一下,如果版主有时间希望能解释一下。

1、我之前做测试时做断点,每一条都能够触发,只是到AddHandler aa.test, AddressOf Me.T这里时,就结束了,并没有转到T函数。是不是类的事件不能在内部调用?

2、我之前在一个小程序的代码中看到一个和我写的类似的事件调用方式(我感觉是类似的)
是一个Sockets编程的例子,那段代码在一个新用户连接的时候用NEW来定义一个新类,其中有一段代码是这样写的,
Me.client.GetStream.BeginRead(readBuffer,0,REEAD_BUFFER_SIZE,AddressOf StreamReceiver,Nothing)
StreamReceiver就是这个类的一个事件,里面有RaiseEvent LineReceived(me,strMessage)这段代码所连接的事件就可以被触发,我就是看了这个才会在测试代码中那样写的。请问这里为什么?是AddressOf的原因吗?

2007-07-05 09:09
jlnet
Rank: 1
等 级:新手上路
帖 子:74
专家分:0
注 册:2006-7-29
得分:0 

原来如此,了解了,谢谢版主。

2007-07-06 15:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-151923-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058640 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved