VB 中with的使用

来源:互联网 发布:小米查看支持什么网络 编辑:程序博客网 时间:2024/06/05 19:37

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