如何用循环为Label赋值,急!在线等!

wwlprince 2010-05-07 03:31:32
我有32个lable 名称分别为lable1、lable2、lable3......lable32,我想用一个循环给他们的text赋值!
...全文
1130 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanxiguang_0 2010-08-26
  • 打赏
  • 举报
回复
lable是不是放在别的空间上面的,比如panle,
please_call_me_J 2010-06-08
  • 打赏
  • 举报
回复
每天逛逛CSDN。都能学到东西
zhang1984xuebin 2010-06-08
  • 打赏
  • 举报
回复
&号可以实现字符串的链接,上面的方法可以试试,理论上应该可以的。
fina1982 2010-06-08
  • 打赏
  • 举报
回复
wwlprince 2010-06-07
  • 打赏
  • 举报
回复
我已经放弃了使用Label,改用其它,已经实现了需要功能,今天发现还未结贴,来看下,今天快下班了,明天来试下后面的几位的能不能用,不能用的话就平均分结贴。
dylike 2010-05-14
  • 打赏
  • 举报
回复
.Controls.Find需要VS2008以上版本

08以下的可用:

private sub SetLabelsText(Ct as control,CusText as string)
For each L as label=ct.controls
if typeof(L) is label then Ctype(L,Label).Text=CusText
if L.HasChileren then SetLabelsText(L)
Next
End sub

调用:

sub button1_click()
SetLabelsText(Me,"自定义内容")
end sub
tjficcbw 2010-05-14
  • 打赏
  • 举报
回复
你在遍历label集合时,判断一下是不是lable1、lable2、lable3......lable32再改
qifachen 2010-05-12
  • 打赏
  • 举报
回复
这个比较简单吧
For i As Integer = 1 To 32
Dim c() As Control = Me.Controls.Find("lable" & i, False)
If c.Length > 0 Then
CType(c(0), Label).Text = "值"
End If
Next
wwlprince 2010-05-10
  • 打赏
  • 举报
回复
窗体界面里还有其他label,但已经被我重命名为其它,现在就想操作32个label,名称为label1......label32.
wwlprince 2010-05-10
  • 打赏
  • 举报
回复
我用的是VS2003,以上的代码都试了不行。
lrjt1980 2010-05-07
  • 打赏
  • 举报
回复
问题没有说清楚
wuyq11 2010-05-07
  • 打赏
  • 举报
回复
Private Sub GetControl(ByVal c As Control)
If TypeOf control Is System.Windows.Forms.Label Then
Dim l As System.Windows.Forms.Label = DirectCast(control, System.Windows.Forms.Label )
l.Text = ""
End If
For Each ch As Control In c.Controls
GetControl(ch)
Next
End Sub
GetControl(Me)
chhming 2010-05-07
  • 打赏
  • 举报
回复
上面的发错了。
for each obj as object in me.Controls
if typeof obj is label then
'------ 在这里加入你的代码--------
dim Lb as label=ctype(obj,label)
lb.text=""
'---------------
end if
next
chhming 2010-05-07
  • 打赏
  • 举报
回复

if typeof obj as object is label then
'------ 在这里加入你的代码--------
dim Lb as label=ctype(obj,label)
lb.text=""
'---------------
end if
next
chhming 2010-05-07
  • 打赏
  • 举报
回复
for each obj in me.Controls
if typeof obj is label then
'------ 在这里加入你的代码--------
dim Lb as label=ctype(obj,label)
lb.text=""
'---------------
end if
next
水哥阿乐 2010-05-07
  • 打赏
  • 举报
回复
是Controls少打一个字母,没有测试
j2mekaifa 2010-05-07
  • 打赏
  • 举报
回复
用FindControl查找,然后转换为Label类型,直接赋值
Forrest23 2010-05-07
  • 打赏
  • 举报
回复

For i As Integer = 1 To 32
Dim c() As Control = Me.Controls.Find("lable" & i, False)
If c.Length > 0 Then
CType(c(0), Label).Text = "值"
End If
Next
wwlprince 2010-05-07
  • 打赏
  • 举报
回复
lbl = Me.Control("Label" + i.ToString)这里报错!
只有Me.Controls,没有Me.Control
水哥阿乐 2010-05-07
  • 打赏
  • 举报
回复
把楼上代码改动了一下就可以用
Dim lbl As Label = Nothing
For i As integer = 1 To 32
lbl = Me.Control("Label" + i.ToString)
If lbl IsNot Nothing Then
lbl.Text = "The value of Label" + i.ToString
End If
Next
加载更多回复(3)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧