With
对单个对象或用户自定义类型执行一系列语句。
语法:
With object
[ statements ]
End With
- object
- 对象或用户自定义类型的名称。
- statements
- 可选 要对object执行的一个或多个语句。
With语句允许对指定对象执行一系列语句而无需重新限定对象名称。例如,要更改单个对象的多个不同属性,将属性赋值语句放在With控制结构中,只需引用对象一次而不是在每个属性赋值时都引用。
以下示例说明使用With语句为同一对象的多个属性赋值。
vb
With MyLabel
.Height = 2000
.Width = 2000
.Caption = "This is MyLabel"
End WithINFO
一旦进入With块,object就不能被更改。因此,单个With语句不能影响多个不同的对象。
With语句可以通过将一个With块放在另一个With块内来嵌套。但是,由于外部With块的成员在内部With块中被遮蔽,在内部With块中必须提供完全限定的对象引用来访问外部With块中对象的任何成员。
WARNING
不建议跳入或跳出With块。如果With块中的语句被执行,但With或End With语句未被执行,则包含对象引用的临时变量会保留在内存中,直到过程退出。
示例
本示例使用With语句对单个对象执行一系列语句。对象及其属性是仅用于说明的通用名称。
vb
With MyObject
.Height = 100 ' Same as MyObject.Height = 100.
.Caption = "Hello World" ' Same as MyObject.Caption = "Hello World".
With .Font
.Color = Red ' Same as MyObject.Font.Color = Red.
.Bold = True ' Same as MyObject.Font.Bold = True.
End With
End With