RaiseEvent语句相关问题

RaiseEvent在MSDN中的定义为:触发类、窗体或文档中在模块级声明的事件。请问一下:RaiseEvent触发后的效果是什么?为什么在自定义的事件中需要用Raise... RaiseEvent在MSDN中的定义为:触发类、窗体或文档中在模块级声明的事件。

请问一下:RaiseEvent触发后的效果是什么?为什么在自定义的事件中需要用RaiseEvent来触发事件?
还有,在一些相关书籍里介绍关于自定义事件的过程:
1. 声明事件:Public Event 事件名(参数)
2. 在合适的地方引发事件:RaiseEvent 事件名(参数)
然后就可以在其它的地方响应该事件。

我不明白的是:既然已经定义声明了事件,为什么不能直接调用?就像声明的变量一样?
展开
 我来答
XnnYygn
2006-07-18 · TA获得超过751个赞
知道小有建树答主
回答量:1001
采纳率:0%
帮助的人:0
展开全部
"既然已经定义声明了事件,为什么不能直接调用?就像声明的变量一样?"
首先要明确的是,事件不同于子程序,更不同于变量,事件需要出发条件和相应的参数传递,而子程序内部调用,理论上来说任何时候都可以用,有无参数均可,而变量仅仅是数据或者对象,与事件完全不同。
在自定义控件中,设计程序提供接口,设计者自己设计控件,包括事件。但是事件不是随机发生,在确定满足某个条件(比如按下鼠标),才引发事件。另外,为了区别事件和子程序,设计程序使用不同方法调用,实际上两者的启动方法也不同,事件需要加入win32的消息队列中,而子程序不需要。事件使用RaiseEvent调用,子程序使用Call或者省略。
“RaiseEvent触发后的效果是什么?”触发结果就是启动事件。
如果你还不懂,仔细看MSDN,绝对不要把事件和子程序混在一起,更不要和变量混在一起。
wudykai
2006-07-18 · TA获得超过550个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:300万
展开全部
在VB中
用raise event就是你所说的调用

自己定义的类,就要有自己的事件
而这个事件什么时候触发,当然由类的设计者来决定
所以,这个语句是比较有用的。

另外,由于VB不是纯粹的面向对象,而是基于对象
所以有些概念在这里边理解起来不是很清晰

建议你看看其他的语言
比如C#,JAVA等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式