读书人

C# 动态创建 怎么动态调用

发布时间: 2013-09-09 20:31:09 作者: rapoo

C# 动态创建 如何动态调用
通过对Lable的Name赋值进行了动态的创建,代码贴下:


public void initialzition()
{
for (int i = 1; i <= 4; i++)
{
Label l1 = new Label();
l1.Name = "Lable" + i;
richTextBox1.Text += l1.Name;
l1.Location = new Point(i*10+10,90);
l1.BorderStyle = BorderStyle.Fixed3D;
l1.Width = 10;
l1.Height = 10;
l1.BackColor = Color.Green;
ar.Add(new Point(i*10+10, 90));
panel1.Controls.Add(l1);

//this.Controls.Add(l1);
//l1.Dispose();
}

那么 如果我想调用这4个动态创建的"Lable"该怎么做?
比如我要把第四个"Lable4"的width属性改变。


[解决办法]
你想改变lable4的话就控制循环语句if(i==3){lable.name = ;}
------解决方案--------------------


如果知道后边有问题,那么应当重构地定义在对象字段上,在方法之外。例如


private Label[] lbs = new Label[4];

public void initialzition()
{
for (int i = 1; i <= 4; i++)
{
Label l1 = new Label();
lbs[i] = l1;
l1.Name = "Lable" + i;
richTextBox1.Text += l1.Name;
l1.Location = new Point(i*10+10,90);
l1.BorderStyle = BorderStyle.Fixed3D;
l1.Width = 10;
l1.Height = 10;
l1.BackColor = Color.Green;
ar.Add(new Point(i*10+10, 90));
panel1.Controls.Add(l1);

//this.Controls.Add(l1);
//l1.Dispose();
}

读书人网 >C#

热点推荐