• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Visual Basic6.0事件机制分析

发布: 2007-5-25 09:19 | 作者: keminlau | 来源: 天极网 | 查看: 29次 | 进入软件测试论坛讨论

领测软件测试网  第一种场景:

  主表单调出客户列表表单选择一个客户

  流程:用户单击主表单相应控件调出客户列表表单,选择一个客户,被选中的客户数据返回给主表单。

  代码解释

  a.       主表单mainform声明一个私有的客户列表表单CustomerList,WithEvents关键字表明该对象可以触发事件。

  b.       公开一个“被选择”事件,参数为一个客户对象实例。

  c.       optType控件单击事件的事件处理子过程。单击调出客户列表表单。(这里也涉及一事件,比较底层,稍后再讨论)

  d.       加载表单,等待用户交互。

  e.       客户列表单击事件处理子过程,这里是关键,使用RaiseEvent关键字Generate事件。事件发生后,所有注册了该事件的事件处理子过程将会执行。

  f.        客户列表表单的客户选择事件在主表单的处理子过程,亦即所谓的“事件处理器”event handler.(事件处理过程的是名字是object_event(e),VB对事件处理过程不需要显式注册关联,它会auto wireup for us!!)



  第二种场景:

  员工数据编辑表单的数据合法性验证

  流程:加载员工数据编辑表单对员工数据进行编辑,编辑员工号时触发员工对象属性PropertyLet过程(1),PropertyLet过程再触发数据验证(2),最后把验证布尔返回给员工数据编辑表单(3)。

  代码解释:

  a.       员工数据编辑表单“把持”一个私有的员工类对象实例,WithEvents关键字表明员工类对象实例可以触发事件。

  b.       员工类公开一个“数据验证”事件,参数为一个布尔值。表明是否合法

  c.       txtEmployeeNo控件change事件的事件处理子过程,更改员工号。

  d.       更新员工类对象实例的员工号字段,并按需调用验证子过程。

  e.       完成自定的验证规则,并把验证结果用作事件的参数通知各注册事件的客户。

  f.        员工数据编辑表单是这里唯一的注册事件的客户,根据员工号的合法性来判定是否允许提交该表单

   总结

  “事件”机制是子程序使用的“高级”形式,是为了实现异步调用机制,不是语言核心的新内容。

<html>
<body>
<ul onclick=this.removeChild(li1)>我是ul
<li id=li1>01
    <li id=li2>02
</ul>
</body>
</html> 

  回调通知callback notifications

  回调是一种notion,一种编程想法或概念;通过回调机制,程序的一部分代码可以对外发出通知,告知程序其它部分代码有“某事”发生了(该部分代码会作出相应动作)。简单点说,回调就是这样的一个过程:程序里有那么一些特定方法(一个或多个),它们由事件源来执行。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网