求一个C#循环的写法?谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/26 05:06:57
10个Panel控件,id为Panel1——Panel10,
10个LinkButton控件,id为LinkButtonl——LinkButton10
相应的LinkButton事件处理相对应的Panel控件,对应关系为ID的相对应,如LinkButton1对应Panel,LinkButton10对应Panel10。
现在,我想在LinkButton1_Click的事件中改变Panel1的背景色,其它9个Panel保持不变,同样,想在LinkButton8_Click的事件中改变Panel8的背景色,其它9个Panel保持不变。请问用循环怎么写?谢谢
下面这段代码要怎么改才行呀
protected void LinkButton1_Click(object sender, EventArgs e)
{
for(int i=;i=10;i++)
{
Panel pnl =new Panel();
pnl.ID ="Panel" + i.ToString();
if(i==1)
{
pnl.Attributes.Add("style", "background-image:url(img/bg.gif)");
}
else
{
pnl.Attributes.Add("style", " ");
}

}
}
运行就报错,请朋友们帮帮忙,谢谢!

//简单示范一下,只有Panel类型的数组才能用来循环
Panel[] pnl = { Panl1, Panl2, Panl3,...............,Panl10 };
for(int i=0;i<pnl.Length;i++){
if(i==8){

}else{

}

}

foreach(Control ctl in this.Controls){
if(ctl.ID.StartWith("Panel")){
(Panel(ctl)).Attributes.Add("style", " ");
}
}
Panel1.Attributes.Add("style", "background-image:url(img/bg.gif)");

前提是不是这一些panel都在一个form中,每个panel上面已经有一个button了?
现在是不是想图省事,不想到每个button的click上面去写函数?
要是这样的话,是不是在这个form的click的事件中用循环来判断是点击了第几个button就更改第几个panel的背景,这样写应该好点吧。
循环的语句可以参考:
for(int i=1;i<=10;i++)
{
Label lab = this.Controls["Label"+i] as Label;
if(lab!=null)
{
//to do...
}
}

这个不需要用循环的..你直接在那两个事件里面改相应的panel背景就可以了..

不明白你为什么要做循环