在vb.net 中 WithEvents 的作用

在项目中,看到了这样一句话:Private WithEvents frmMaster As frmMaster

其中的WithEvents又叫我挠头了

上网查了许久,还是不能完全理解,没有办法,只能在百度的知道中提了这个问题

很幸运,有一位讲解的非常简单明了,让我脑电炮亮了起来

现在就把他的回复贴到这里

---------------------------------------------------------------------------------

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

 

举个最简单的例子:

 

 

1
2
3
4
5
6
7
8
9
10
11
Public  Class  Form1
  
     Dim  WithEvents  As  Form1
  
     Private  Sub  Form1_Click( ByVal  sender  As  Object ByVal  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了。

 

当然这是最简单的一个示范例子,实际使用中并不是这么用的。

 

再给个例子,题主能看明白否?

 

1
2
3
4
5
6
7
8
9
10
11
12
13
Public  Class  Form1
     Dim  WithEvents  As  abc
     Private  Sub  Form1_Click( ByVal  sender  As  Object ByVal  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

 

 

---------------------------------------------------------------------------------------------------------

谢谢他的帮助

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值