重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
其实是一个定义变量时候的修饰符,指的是被修饰的变量拥有所定义的类的属性和方法。
成都创新互联专注于网站建设,为客户提供成都网站建设、网站制作、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。
举个最简单的例子:
Public Class Form1
Dim WithEvents a As Form1
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
a = Me
a.Text = "abc"
a.Close()
End Sub
End Class
这里定义了一个名为 a 的 Form1 类型的变量,加上 WithEvents 修饰就是说这个 a 拥有了 Form1 这种类型的属性和方法。
a = Me,先实例化给 a 赋值成了当前窗体。
a.Text = "abc" a.Close(),a 目前就已经相当于 Form1了。
当然这是最简单的一个示范例子,实际使用中并不是这么用的。
再给个例子,题主能看明白否?
Public Class Form1
Dim WithEvents a As abc
Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
a = New abc
a.abcd()
End Sub
End Class
Public Class abc
Sub abcd()
MsgBox("123")
End Sub
End Class
EVENT事件不是过程,要处理事件要用到HANDLES 或ADDHANDLER 将事件处理过程关联起来:
PUBLIC EVENT USERNAME()
SUB DOENENT() HANDLES ME.USERNAME
触发事件用RAISEEVENT USERNAME
所以WITHEVENTS是声明该类有事件过程而已
不加也是一样的效果,就是比较麻烦一点要写多行类的头
比如不加with:
objstuHead.name ="张三"
objstuHead.name(1) ="Dav"
objstuHead.name(2) ="adfad"
objstuHead.name(3) ="adfeqw"
如果加with:
with objstuHead
.name ="张三"
.name(1) ="Dav"
.name(2) ="adfad"
.name(3) ="fqwtwa"
end with
所以说加with 就可以省去写好多的objstuHead 的头。意思是不用一直重复的写对象,而且用with 也比较方便读一段代码