下面所示的两个参数是如何作用的,这些参数是传入还是读取的?
最难理解ByVal e As EventArgs这个。这个如何使用。
Public Event PropertyChanged(ByVal sender As Object, ByVal e As EventArgs)
还有有时候使用自定义事件中一个字符串或数值类型参数,这个参数如何如何作用呢?
希望代码示例更感谢!
------解决方案--------------------
这个e传递很多信息啊,你输入"e."后面会出来很多东西的
事件传递的参数其实是这样
比如说我声明一个事件叫Event GetMoney(Name As String, Value As Long)
这个事件表明某个人得到了一定数量的钱
然后一个过程来处理这个事件
Private Sub Deal(Name As String, Value As Long) Handles GetMoney 注意这里的参数一定要跟事件的签名的项的数量和类型一样的
这个时候我就可以得到 GetMoney这个事件告诉我的得到钱的人的Name和得到钱的数量Value
End Sub
那么具体怎么用呢,比如我们有一个事件来自动发钱
Private Sub GiveMoney()
这里通过一个随机数获得Name和钱的数量Value
RaiseEvent GetMoney(Name,Value) 把得到钱的人的名字和数量传进去,这样处理这个事件的过程就可以知道是谁得到了多少钱,就是这样
End Sub
------解决方案--------------------
就这个事件而言,e没有什么用。
sender代表触发的控件。当你用一个事件处理函数同时响应多个控件(类似VB6的控件数组),那么它对于区分是哪个控件被触发就很有用了。
e在一些事件中,比如MouseMove、ListView的Item的选择等等中可以传递一些附加的参数。这些参数以EventArgs的派生类的形式给你。
这两个参数都是事件触发者,也就是控件内部传出来的。