执行重复引用单个对象或结构的一系列语句。
With object [ statements ] End With
With...End With 允许对指定的对象执行一系列语句,而不必重新限定对象的名称。例如,若要修改单个对象的若干不同的属性,请将属性赋值语句放在 With...End With 中,这样只用引用一次对象,而不是在每个属性赋值中都引用它。下面的示例说明如何使用 With...End With 给同一个对象的多个属性赋值:
With MyLabel .Height = 2000 .Width = 2000 .Text = "This is MyLabel" End With
注意 进入了 With...End With 后,直到通过 End With 后才能重新分配 object。因此,访问指定对象的方法和属性时不必限定它们。可以使用其他对象的方法和属性,但是必须用它们的对象名限定它们。
可以通过在一个 With...End With 语句中放入另一个此语句来嵌套它们。但是,由于外部语句的成员被屏蔽在内部语句内,必须在内部 With...End With 中提供对外部语句中的任何对象成员的完全限定对象引用。
不能使用 GoTo 从 With...End With 外部分支到它的内部标签。如果想在所有语句都执行完之前退出,请在 End With 语句上放置一个标签并分支到该标签。
本示例使用 With 语句对单个对象执行一系列语句。MyObject
对象及其属性是仅用于说明目的的一般名称。
With
MyObject .Height = 100 ' Same as MyObject.Height = 100. .Text = "Hello World" ' Same as MyObject.Text = "Hello World". .ForeColor = Color.Green ' Same as MyObject.ForeColor = Color.Green. .Font = New Font(.Font, FontStyle.Bold) ' Same as: ' MyObject.Font = New Font(MyObject.Font, FontStyle.Bold).End With