With 语句
【语法】
With object
[statements]
End With
With 语句的语法具有以下几个部分:
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
原文链接:https://www.f2er.com/vb/259574.html