有10个Label控件,如何动态地给每个Label控件赋值,代码如下,请指点

laohuchiren 2007-02-09 09:37:10
能不能通过一个循环,给每个控件赋值

for(int i=1;i<=10;i++)
{
label + i +".Text" = i.toString();
}
...全文
242 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
laohuchiren 2007-02-09
  • 打赏
  • 举报
回复
非常感谢,结帖
chengbo1983 2007-02-09
  • 打赏
  • 举报
回复
foreach (Control ctl in this.Controls)
{
if(ctl.GetType().ToString() == "System.Windows.Forms.Label")
{
((Label)ctl).Text ="mylabel";
MessageBox.Show("ok,label is "+ctl.Text);
}

}

为什么要这样呀?

if(ctl is System.Windows.Forms.Label)

就可以了嘛
lovehongyun 2007-02-09
  • 打赏
  • 举报
回复
楼上的楼上正解..
oyzm 2007-02-09
  • 打赏
  • 举报
回复
楼上正解!
simonllf 2007-02-09
  • 打赏
  • 举报
回复
foreach (Control ctl in this.Controls)
{
if(ctl.GetType().ToString() == "System.Windows.Forms.Label")
{
((Label)ctl).Text ="mylabel";
MessageBox.Show("ok,label is "+ctl.Text);
}

}
Red_angelX 2007-02-09
  • 打赏
  • 举报
回复
asp.net用FindControl(string name)
laohuchiren 2007-02-09
  • 打赏
  • 举报
回复
楼上的兄弟, 提示 没有 Find这个属性,我用的是 vs2005 里的 asp.net,谢谢啊
王集鹄 2007-02-09
  • 打赏
  • 举报
回复
for (int i = 1; i <= 10; i++)
{
Control[] vControls = Controls.Find(string.Format("label{0}", i), true);
if (vControls.Length > 0)
foreach (Control vLabel in vControls)
((Label)vLabel).Text = i.ToString();
}
jxf654 2007-02-09
  • 打赏
  • 举报
回复
up
wxxzf 2007-02-09
  • 打赏
  • 举报
回复
在VB里,可以用 For...Each...Next 遍历form里的控件
不知对你有用不
laohuchiren 2007-02-09
  • 打赏
  • 举报
回复
for (int i = 1; i <= 10; i++)
{
Label[] Label = new Label[10];
Label[i] = new Label();
Label[i].Text = i.ToString();

}
但是这样的话位置不好控制,有没有别的办法

信 誉 值是前年减的,现在都已经结贴了
Red_angelX 2007-02-09
  • 打赏
  • 举报
回复
信 誉 值: 75
1.做成数组
2.遍历Controls

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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