VB中控件名称循环如何实现?

在C语言中使用数组,举例:int a[10],b=0;for(;;){ b++; a[b]=0; if(a==10)break;} 在VB中如何实现类似循环?例如我这里有10个控件,分别命名为Label1-Label10。如何实现循环令Label1.caption=1,Label2.caption=2,Label3.caption=3等等。能不能利用循环实现?

可以用循环来实现的,结合窗体的Controls属性,达到引用空间组的成员的目的
代码如下:

Private Sub command1_click()
Dim i As Long
For i = 1 To 10
Me.Controls("Label" & i).Caption = i
Next i
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-21
用VB编写FLASH动画播放器    Flash4是MacroMedia公司出品的矢量动画创作专业软件,利用该软件制作的矢量动画具有文件体积小、带音效和兼容性好等特点。那么,你想不想在自己编写的程序中加入Flash动画,为自己的程序添加一道亮丽的色彩呢?   一、编程原理   本程序利用了Flash4本身自带播放Flash动画的控件Swflash.ocx。你可以通过以下途径获得该控件:1、安装Flash4;2、安装Windows98自带的Flash插件,方法:依次单击“开始”菜单-“设置”-“控制面板”-“添加/删除程序”-“Windows 安装程序”-“多媒体”-“详细资料”-选中“Macromedia Shockwave Flash”前的复选框确定即可。以上方法都会将该控件安装到Windows目录下的SystemMacromedFlash子目录下。   二、示例程序   下面就是一个用Swflash.ocx控件编写的Flash动画播放器。本程序可一次打开多个Flash动画文件,并可在播放过程中选择播放打开的文件、随时改变播放质量、画面大小等状态;在播放过程中可以随时对播放的当前帧数进行调整或者手动进行逐帧播放,在状态栏里有当前播放状态的相关说明。在实现以上功能时,几乎用全了Swflash.ocx控件的主要属性、方法。   编程过程如下:   1、窗体、界面设计。   新建工程,选择“工程”菜单下的“部件”命令,在“部件”窗口的“控件”列表中将“Shockwave flash”、“Microsoft Common Dialog Control 6.0 (SP3)”、“Microsoft Windows Common Control 6.0 (SP3)”前的复选框选中,然后确定。再在窗体中分别加入1个CommonDialog控件、1个Slider控件、3个Label控件、6个CommandButton控件和1个Status Bar控件。其中:   将Form1的“Caption”属性设置为:Flash动画播放器。这是控制窗口。   将CommonDialog1的CancelError设置为True,DialogTitle设置为“打开Flash动画文件”,Filter属性设置为“Flash动画(*.swf)|*.swf|”,FilterIndex设置为1,MaxFileSize设置为10240。   将Slider1的SelectRanger的属性设置为“True”,SmallChange属性和LargeChange属性设置为10,TickFrequengcy属性设置为20,TextPosition设置为“1 - SldBelowRight”。   将Label(1-3)分别放在Slider1下的左端、中间和右端。其中,Label1的Caption设置为“0帧”,Label2和Label3的Caption设置为空字符串。   6个CommandButton的“名称”属性分别为:cmdOpen、cmdPlay、cmdPause、cmdPre、cmdPreFrame、cmdNextFrame、cmdNext、cmdExit,“Caption”属性分别为:打开、播放、暂停、上一个、上一帧、下一帧、下一个、退出。   在Status Bar上单击鼠标右键,选择“属性”,从弹出的窗口中选择“窗格”页面,用鼠标点击“插入窗格”5次,在索引1-5中分别设置“文本”属性为:“共打开了0个文件”、“状态:”、“等待”、“帧数:”、“0”,再适当设置每一项的“最小宽度”的属性(可参考图1中的比例)。     进入菜单编辑器(按快捷键Ctrl+E)。设置第一个菜单标题为“显示控制”,名称为:mnuDisplay;在“显示控制”下设立子菜单标题分别为“全部显示”、“随窗口大小变化”、“缩放至窗口大小”,名称分别为:mnuDisplay0、mnuDisplay1、mnuDisplay2。设置第二个菜单标题为“质量控制”,名称为:mnuQuality;在“质量控制”下设立子菜单标题分别为“低分辨率”、“高分辨率”,名称分别为:mnuQuality0、mnuQuality1。设置第三个菜单标题为“播放控制”,名称为:mnuPlayControl;在“播放控制”
第2个回答  2013-10-21
For Each Label In Form1
n = Label.Name
Label.Caption = Right(n, Len(n) - Len("label"))
Next Right(n, Len(n) - Len("label"))的功能是 截取标签名称中除Label之外的部分。以上代码在VB6.0下通过调试。本回答被网友采纳
第3个回答  2013-10-21
Private Sub Form_Load()
Dim i As Long
For i = 1 To 10
'直接通过名称来访问控件,所以可以用字符串来写
Me.Controls("Label" & i).Caption = i
Next i
End Sub
第4个回答  2015-09-30
VB中常用的语句有赋值语句、Print语句、结束语句。常用的结构有顺序结构、分支结构(也称为选择结构)。在分支结构里面,有两种格式的条件语句。
分支结构:
(1)含义用来判断给定的条件,根据判断的结果来决定程序执行的流程称为分支结构。使用分支结构语句时,要用条件表达式来描述条件。
例如: if x=5 then y=x+1
If a>1 and b<>0 then x=1
(2)两种格式的条件语句
If…Then语句
格式: If条件Then语句
If条件Then
语句块
End If
功能:若条件成立(值为真),则执行Then后面的语句或语句块,否则执行下一条语句或“End If”的下一条语句。

例题:输入一个数,当该数大于或等于60是显示“及格”,当该数小于60时显示“不及格”。
程序代码:
Private Sub Command1_Click()
Dim a As Single
a=Val(Text1.Text)
If a>=60 Then
Lable1.Caption="及格"
End If
If a<60 Then
Lable1.Caption="不及格"
End If
End Sub
(2)If…Then…Else语句
格式: If 条件 Then
语句块1
Else
语句块2
End If
功能:首先测试条件,如果条件成立(值为真),则执行Then后面的语句块1,如果条件不成立(值为假),则执行Else后面的语句块2。而在执行Then或Else之后的语句块后,会从End If之后的语句继续执行。
例题:输入一个年份,判断它是否是闰年。
程序代码:
Private Sub Command1_Click()
Dim Y As Integer
Y=Val(Text1.Text)
If (y mod 4=0) and (y mod 100<>0) or (y mod 400=0) Then
Lable1.Caption="是闰年"
Else
Lable1.Caption="不是闰年"
End If
End Sub
相似回答