在项目中,看到了这样一句话:Private WithEvents frmMaster As frmMaster
其中的WithEvents又叫我挠头了
上网查了许久,还是不能完全理解,没有办法,只能在百度的知道中提了这个问题
很幸运,有一位讲解的非常简单明了,让我脑电炮亮了起来
现在就把他的回复贴到这里
---------------------------------------------------------------------------------
其实是一个定义变量时候的修饰符,指的是被修饰的变量拥有所定义的类的属性和方法。
举个最简单的例子:
1
2
3
4
5
6
7
8
9
10
11
|
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了。
当然这是最简单的一个示范例子,实际使用中并不是这么用的。
再给个例子,题主能看明白否?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
|
---------------------------------------------------------------------------------------------------------
谢谢他的帮助