首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-09-09 
C# 动态创建 如何动态调用通过对Lable的Name赋值进行了动态的创建,代码贴下:public void initialzition(){

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();
            }
    }

热点排行