关于VB中的WithEvents关键字理解
【前言】??最近敲机房敲到了日结账单,对于报表和VB的交互我们还是第一次接触,但是我们却可以借助巨人的肩膀。但是我在看巨人博客的时候,发现在定义报表对象的时候却有一些不同。带着这样的疑问,我就想知道到底有什么区别。 【WithEvents关键字】??我们在使用报表的时候,当然得先定义一个变量,由于它属于对象变量,所以我们在使用前还必须实例化。 '第一种
Dim report As grproLibCtl.GridppReport
'第二种
Dim WithEvents report As grproLibCtl.GridppReport
??显而易见,它们只是因为一个关键字——WithEvents。要想弄清楚它们之间的区别,只要知道WithEvents关键字的作用就行了。 Dim report As grproLibCtl.GridppReport '(无法使用report事件)
Dim WithEvents report As grproLibCtl.GridppReport '(可以使用report事件)
??再看一下对比图,就更直观了。 ??其实,WithEvents关键字就是继承定义的对象的事件,如果我们仅使用类的属性和方法,只用dim,private,public声明变量就可以了,就像第一种。而如果还想使用类的事件,就必须加上WithEvents关键字。 ??3、使用WithEvents关键字的限制条件 Dim WithEvents a as new form
??(3)不能在标准模块中声明 WithEvents 变量。只能在类模块、窗体模块以及其它定义类的模块中声明。 ??4、定义语句的格式 【Objects】??表示“对象”数据类型,该关键字通常与integer,byte,string这些变量数据类型进行区分。通常,我们定义一个对象变量的时候要用到Object。 Dim i As Integer,b as Byte,s as String,cc as Object
'那么通过上面这个定义语句,我们得到了四个变量
'i是整型变量,b是字节型变量,s是字符串型变量,而cc是对象变量
i = 1
b = 255
s = "Acb"
Set cc = Text1
'通过上面的四个赋值语句,我们可以看到cc这个对象数据类型,必须使用Set,通过这个语句,'那么我们就用cc引用了Text1这个对象。于是:
Text1.Text = "A"
cc.Text = "B"
'那么上面两个语句就具备了同样的修改Text1文本框内容的功能了。
【后语】??以上只是我的一点儿小理解,如果大家有更深的理解,我们可以深入的交流,欢迎大家斧正。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |