C#如何动态创建多个label控件?看补充 50
让用户指定一个合理的数量,程序创建这个数量的label控件。(label控件的位置先忽略,只谈如何创建)...
让用户指定一个合理的数量,程序创建这个数量的label控件。(label控件的位置先忽略,只谈如何创建)
展开
2个回答
展开全部
int count = 20;//比如20个
List<Label> list = new List<Label>();
for (int i = 0; i < count; i++)
{
Label label = new Label() { Text = i.ToString(), Size = new Size(50, 20),Location = new Point(10, 25 * i) };
list.Add(label);
}
this.Controls.AddRange(list.ToArray());
//然后就可以用list[n]来访问第n个元素了。比如
list[5].Text = "LABLE-5";
追问
哇!大神来了,可否解释下:List list = new List();是什么意思吗?
追答
List是泛型类,通常用作取代以前的ArrayList来做为动态数组使用(也就是在数组元素不定的情况下),List泛型类是很常用的东西,建议查一下它的资料,当然,上面如果不用list用普通的数组也是可以的,即
List list = new List();改为Label[] list = new Label[count];
Label label 改为list[i] =
展开全部
int count =用户指定数量;
for(int i=0;i<count ;i++)
{
Label label =new Label();
label.Text="label"+i;
label.Size=new Size(20,40);
label.Location=new Point(10,10+25*i);
this.Controls.Add(label);
}
for(int i=0;i<count ;i++)
{
Label label =new Label();
label.Text="label"+i;
label.Size=new Size(20,40);
label.Location=new Point(10,10+25*i);
this.Controls.Add(label);
}
更多追问追答
追问
这样创建后不就只能看吗?如果可以操作?
比如说,第十个控件创建完了 再改第五个控件的值...
追答
//可以改的.
int count =用户指定数量;
for(int i=0;i<count ;i++)
{
Label label =new Label();
label.Name="label"+i; //label的Name
label.Text="label"+i; //文本
label.Size=new Size(20,40);//label大小
label.Location=new Point(10,10+25*i);//label坐标
if(i==9)//第10个控件
{
label4.Text="修改的值";//确定label的Name就可以改了
}
this.Controls.Add(label);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询