如何用for循环给控件的属性赋值

yudeli 2009-06-14 11:04:38
页面放置了 8个 button
name 分别是button1,button2.....button8
现在想用一个for循环 把这八个控件的text值设上。请问这样怎么写代码。
...全文
345 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yulien 2009-06-15
  • 打赏
  • 举报
回复
ding
yudeli 2009-06-15
  • 打赏
  • 举报
回复
是winform的
yudeli 2009-06-15
  • 打赏
  • 举报
回复
按照2楼的方法做出来了
qldsrx 2009-06-14
  • 打赏
  • 举报
回复
补充下,如果你还需要判断按钮的名字的话,比如必须是叫button1的才给某个text值,只要稍微修改下if语句部分,或者你添加一个switch语句,判断cc.Name(WEB下是cc.ID)即可。
qldsrx 2009-06-14
  • 打赏
  • 举报
回复
是web还是WinForm啊。

web:

protected void Page_Load(object sender, System.EventArgs e)
{
setcontrol(this);
}

void setcontrol(Control c)
{

foreach (Control cc in c.Controls)
{
if (cc.GetType() == typeof(Button))
((Button)cc).Text = "按钮";
if (cc.HasControls())
{
setcontrol(cc);
}
}
}


WinForm

private void Form1_Load(object sender, EventArgs e)
{
setcontrol(this);
}

void setcontrol(Control c)
{

foreach (Control cc in c.Controls)
{
if (cc.GetType() == typeof(Button))
cc.Text = "按钮";
if (cc.HasChildren)
{
setcontrol(cc);
}
}
}
lizhaohu 2009-06-14
  • 打赏
  • 举报
回复
object[] buttons = new object[] { button1, button2, .... };
for(int i=0;i<8;i++)
{
button[i]= ...;

}
修改一下昵称 2009-06-14
  • 打赏
  • 举报
回复

for (int i = 1; i < 9; i++)
{
this.Controls["button" + i].Text = i.ToString();
}
ds252743641 2009-06-14
  • 打赏
  • 举报
回复
object[] buttons = new object[] { button1, button2, .... };
foreach(button b in buttons)
{
你的操作;
}

110,539

社区成员

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

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

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