VB 中with的使用

With 语句

【语法】

With object

[statements]

End With

With 语句的语法具有以下几个部分:

object:必要参数。一个对象或用户自定义类型的名称

statements: 可选参数。要执行在 object 上的一条或多条语句。

【说明】

With 语句可以对某个对象执行一系列的语句,而不用重复指出对象的名称。例如,要改变一个对象的多个属性,可以在 With 控制结构中加上属性的赋值语句,这时候只是引用对象一次而不是在每个属性赋值时都要引用它。下面的例子显示了如何使用 With 语句来给同一个对象的几个属性赋值。

With MyLabel

.Height = 2000

.Width = 2000

.Caption = "This is MyLabel"

End With

注意:当程序一旦进入 With 块,object 就不能改变。因此不能用一个 With 语句来设置多个不同的对象。

可以将一个 With 块放在另一个之中,而产生嵌套的 With 语句。但是,由于外层 With 块成员会在内层的 With 块中被屏蔽住,所以必须在内层的 With 块中,使用完整的对象引用来指出在外层的 With 块中的对象成员。

重点:一般来说,建议您不要跳入或跳出 With 块。如果在 With 块中的语句被执行,但是 With 或 End With 语句并没有执行,则一个包含对该对象引用的临时变量将保留在内存中,直到您退出该过程。

当你在一段程序代码当中要频繁用到某个控件的方法属性的时候,用with...end语句就会显得特别的方便,例如在一段代码中你要频繁使用winsock控件(假设这个控件的名称为winsock),你可以这样这样写:

with winsock

.localport=14354

.remotehost=192.168.1.1

..........

end

就像这个例子,如果不用with...end,那么就要这样写winsock.localport=14354

winsock.remotehost=192.168.1.1

......................

总之,with...end的作用就是减少代码的重复写入,节省时间

例:

Text1.Text ="hello,world"

Text1.FontSize =10

Text1.ForeColor =vbRed

可以改成:

With Text1

.Text = "hello,world"

.FontSize = 10

.ForeColor = vbRed

end With

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...