如何在处理多个事件的Sub中获取事件类型?
|
我正在使用Visual Basic 2010 Express创建一个程序。
我想让
Sub
处理MouseHover
和MouseLeave
事件。这可能吗?并且,如果可能的话,MouseHover事件和MouseLeave事件之间有何区别?
没有找到相关结果
已邀请:
1 个回复
玩翁文醚碱
和
事件都具有相同的方法签名,因此这很容易。 当然,方法签名是指传入的参数。例如,以下是处理这两个事件的方法的签名:
由于这些相同,因此相同的方法可以处理两个事件。您要做的就是在both6ѭ关键字之后添加两个事件的名称,并用逗号分隔它们。例如:
但是,可惜的是,确实无法区分事件,因为两个事件都需要使用相同的处理程序。当您要执行相同的代码而不必关心引发哪个事件时,这通常很方便。 当您需要区分事件时,这不是一个好的选择。但是定义多个事件处理程序方法绝对没有错。它不会影响您的应用程序的性能。 您可以考虑的另一种选择是将存根方法附加为这两个事件的处理程序,并让这些存根调用另一个执行实际工作的方法。因为每个事件都有自己的处理程序,所以您可以确定引发了哪个事件,并将该信息作为参数传递给worker方法。也许解释会更清楚:
认识到指定事件类型的最佳方法是将枚举值(而不是布尔值)传递给mega-handler方法,以实现最佳效果。 (枚举使您的源代码更具描述性;您必须检查
方法的签名才能知道Boolean参数代表什么。)