在vb.net 中 WithEvents 的作用

本文解释了C#中WithEvents修饰符的含义,并通过代码示例展示了其如何使变量拥有指定类的属性和方法。通过具体实例,帮助读者理解并学会在项目中正确使用这一特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目中,看到了这样一句话: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 ObjectByVal 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 ObjectByVal 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、付费专栏及课程。

余额充值