Skip to content

With

对单个对象或用户自定义类型执行一系列语句。

语法:

With object
    [ statements ]
End With

object
对象或用户自定义类型的名称。
statements
可选 要对object执行的一个或多个语句。

With语句允许对指定对象执行一系列语句而无需重新限定对象名称。例如,要更改单个对象的多个不同属性,将属性赋值语句放在With控制结构中,只需引用对象一次而不是在每个属性赋值时都引用。

以下示例说明使用With语句为同一对象的多个属性赋值。

vb
With MyLabel
    .Height = 2000
    .Width = 2000
    .Caption = "This is MyLabel"
End With

INFO

一旦进入With块,object就不能被更改。因此,单个With语句不能影响多个不同的对象。

With语句可以通过将一个With块放在另一个With块内来嵌套。但是,由于外部With块的成员在内部With块中被遮蔽,在内部With块中必须提供完全限定的对象引用来访问外部With块中对象的任何成员。

WARNING

不建议跳入或跳出With块。如果With块中的语句被执行,但WithEnd 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

twinBASIC及其LOGO版权为作者"韦恩"所有