在 VB.Net 中,如何将 EventHandler 移除?

CloneCenter 2003-12-01 04:25:28
在一个窗体中定义了一个 Public event,如下:
Public Event SelectExaminee(ByVal ex As Examinee)
并且在这个类中使用 RaiseEvent SelectExaminee(FEx) 触发了这个事件,外部调用程序使用
AddHandler viewSelectExamineeForm.SelectExaminee, AddressOf DoViewSelectExaminee
来增加事件处理,并在下面的代码中将这个窗口非模式显示,那么如何在这个窗口关闭时,将已经增加的这个事件删除呢?许多地方多可以添加 EventHandler,所以使用 RemoveHandler 不能确定哪个 AddressOf 后的事件名称。可以有什么方法获得某个事件委托的列表吗?

谢谢!
...全文
246 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
CloneCenter 2004-01-05
  • 打赏
  • 举报
回复
怎么还是没有人来呢?
不朽之王 2003-12-30
  • 打赏
  • 举报
回复
up
lovelycat0512 2003-12-30
  • 打赏
  • 举报
回复
.........
路过
CloneCenter 2003-12-30
  • 打赏
  • 举报
回复
再顶最后一次。
CloneCenter 2003-12-16
  • 打赏
  • 举报
回复
感谢楼上的,没有其他发放可用了吗?我看到了c#中可以做一个事件属性什么来的,但是VB 中没有,liyoukebit(游客) 可以说的再详细一些吗?
snakeyin 2003-12-16
  • 打赏
  • 举报
回复
好象要通过其他方式
liyoukebit 2003-12-12
  • 打赏
  • 举报
回复
楼主可以建立一个类:
Class EventClass
'记录添加事件的名称
Public Name as string

Public Sub DoViewSelectExaminee()

end Sub

Ene Class

这样可以识别是谁添加的。

CloneCenter 2003-12-01
  • 打赏
  • 举报
回复
谢谢两位,我现在是不能够确定现在这个窗体添加的委托事件是哪一个,也就是说不能确定肯定是那个 DoViewSelectExaminee,因为有许多窗体调用它,每个调用者都有可能给出不同的委托过程附加到这个事件上,如果就这一个事件,那便不存在问题了。
现在是想看能否得到附加到某个事件的委托列表,这个便可以使用 RemoveHandler 了。
Brunhild 2003-12-01
  • 打赏
  • 举报
回复
RemoveHandler viewSelectExamineeForm.SelectExaminee, AddressOf DoViewSelectExaminee
youngby 2003-12-01
  • 打赏
  • 举报
回复
记号

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧