VB中with语句用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。