VB中With

来源:互联网 发布:mac装好windows没wifi 编辑:程序博客网 时间:2024/06/08 00:15

     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 Wit
0 0