vb.net 事件相关概念的入门理解

vb.net 自定义事件在实际编程应用中,可以摆脱系统事件的束缚和限制,如果能灵活的运用,可以尽情发挥。

事件申明如下:

event event_name(parameterlist)

在事件所在的类里还得必须声明一个过程来触发事件

sub execute_envet

   raiseevent event_name

end sub

在定义事件之后,还得为事件指定相应的事件过程,否则,就没有任何意义了,事件过程的参数列表必须得和事件的参数列表的完全匹配

事件和事件过程怎样关联呢?

有以下两种方式:

addhandler 和handles

addhandler 比较灵活,可以根据自己的需要在动态的指定事件的事件过程。

addhandler event_name ,addressof event_sub

handles 是标准方式。但缺乏灵活性

在使用handles 为事件处理程序制定事件时,必须要withevents 声明事件对象。

 

下面用代码来说明:

 

  //事件类 

   class event_class

       event test_event()

       sub execute_event()

                rasiseevent test_event()

       end sub

   end class

  使用addhandler 关联

   class test_addhandler

        dim e_c as new event_class

         // 事件处理过程

        sub event_sub()
            msgbox("Addhandler test")

        end sub

     sub s_1

         addhanlder e_c.test_event, addressof event_sub

         e_c.execute_event()

        

          RemoveHandler  e_c.test_event ,addressof event_sub

     end sub

 

         sub event_sub1()
            msgbox("Addhandler test1")

        end sub

      sub s_2

         addhanlder e_c.test_event, addressof event_sub1

             e_c.execute_event()

       end sub

   end class

 

 使用handler关联

   class test_handler

        dim withevents e_c as new event_class

         // 事件处理过程

        sub event_sub() handles e_c.test_event
            msgbox("handles test")

        end sub

         sub s_1

              e_c.execute_evnet()

         end sub

       

   end class

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值