vb.netwith的简单介绍

vb.net WithEvents是什么作用啊

其实是一个定义变量时候的修饰符,指的是被修饰的变量拥有所定义的类的属性和方法。

成都创新互联专注于网站建设,为客户提供成都网站建设、网站制作、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,品牌网站建设,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。

举个最简单的例子:

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

vb.net中 withevents有什么用? 好像这个东西只能跟类挂钩

EVENT事件不是过程,要处理事件要用到HANDLES 或ADDHANDLER 将事件处理过程关联起来:

PUBLIC EVENT USERNAME()

SUB DOENENT() HANDLES ME.USERNAME

触发事件用RAISEEVENT USERNAME

所以WITHEVENTS是声明该类有事件过程而已

VB.NET在声明sub时的 with……end with加不加有什么区别吗?

不加也是一样的效果,就是比较麻烦一点要写多行类的头

比如不加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 也比较方便读一段代码


网站题目:vb.netwith的简单介绍
本文地址:http://scyanting.com/article/doogpss.html