C#怎么把100个Label控件加到一维数组中,用数组元素来操作属性

比如100个Label,从Label1到Label100,本来是Label1.Text,Label2.Text,我想实现一个数组,比如a[0].Text就相当于Label... 比如100个Label,从Label1到Label100,本来是Label1.Text,Label2.Text,我想实现一个数组,比如a[0].Text就相当于Label1.Text,a[1].Text就相当于Label2.Text
谢谢
展开
 我来答
百度网友7695b6b
推荐于2017-09-16 · TA获得超过165个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:120万
展开全部
就是Label数组啊,申明和其它数组一样
Label[] a=new Label[100];//声明长度为100的Label数组
初始化后a里面的每一个元素都是一个Label,就像你说的a[0]就相当于Label1,a[1]就相当于Label2
调用数组中的Label就可以按序执行各种操作。
也可以申明一个List<Label> La=new List<Label>();Label数据链表
你任何一个Label控件都可以随时插入其中,比如La.Add(Label1);
La.Add(Label2);等,链表可以不用限定初始长度,随入随出。。用起来也很方便
你可以根据实际情况来选择需求。
追问
我就是这个意思,但是我想知道怎么把一百个一下子加到数组里面,一个一个赋值我会,但是我想有没有简单的循环可以把100个一下子加进去
追答

你是要把已经存在的100个Label一下加进去的话,遍历一下就行,比如你的Label是当前窗体下的控件,那么可以这么加入

List<Label> La=new List<Label>();
foreach (Control c in this.Controls)
{
     if ((c as Label) != null)
    {//如果是Label控件,加入链表
        La.Add((Label)c);
    }
}

La里面就是你所有的Label,La.Count就是Label的个数,可以和数组一样用循环来读取

for(int i=0;i<La.Count;i++)
{//这样可以遍历按序访问每一个Label
    La[i].Text="标签"+i;
    La[i].Location=i==0?new Point(50,5):new Point(50,La[i-1].Top+La[i-1].Height+5);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ngzhang125
2013-09-14 · 超过34用户采纳过TA的回答
知道答主
回答量:245
采纳率:0%
帮助的人:49.4万
展开全部
首先你想干什么?再一个label在开发中说是控件,在操作中说是对像 操作对像就行
建议用for循环动态生成lable 生成的过程中进行属性的操作 因为lable一旦生成就是控件了,再操作的话只能根据你生成时控件的名称来操作,比如
for(i=1;=<5;i++)
{
lable la=new lable();
la.name="Text"+i.ToString();
la.location=....
}
操作时
((lable)Text2).Text等属性调用
追问
这样的目的是为了可以用循环操作,不然一个一个操作太麻烦
追答
那用我上面的代码就可以实现了  记得控制控件显示的位置 要不然就乱了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐乐木头人
2013-09-14 · 超过21用户采纳过TA的回答
知道答主
回答量:265
采纳率:0%
帮助的人:54万
展开全部
string[] strArry;
var labels=winform.findCotrllers("label");
for(i=0;i<100;i++)
{
strArry[i]= labelds[i].text;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingboyf4
2013-09-13 · TA获得超过283个赞
知道小有建树答主
回答量:201
采纳率:100%
帮助的人:240万
展开全部
Label[] arr = new Label[100];
for(int i=0; i<arr.length; i++){
arr[i] = new Label();
arr[i].Text = "xxxx";
}
or
List<Label> list = new List<Label>();
for(int i=0; i<100; i++){
Label lab = new Label();
lab.Text = "xxxx";
list.Add(lab);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式