Random rn = new Random();
        Label[,] a=new Label[2,2];
        for (int i = 0; i < 2; i++)
        {
            for (int j = 0,k=0; j < 2; j++,k++)
            {
                //a[i, j] = "Label" + k.ToString();
                a[i, j].Text  = rn.Next(1,20).ToString ();
            }注释的那条语句怎么改能成功呢。我不想一个一个的给a[0,0]到a[1,1]赋值Label1到Label4,如果控件数组下标太大,那得赋值到什么时候,有什么好的办法吗?

解决方案 »

  1.   

    for (int i = 0; i  < 2; i++)
    {
                for (int j = 0,k=0; j  < 2; j++,k++)
                {
                    a[i, j] = new Label();
                    a[i, j].Name = "Label" + k.ToString();
                    a[i, j].Text  = rn.Next(1,20).ToString ();
                } 
      

  2.   

    我上机做了一下, 调试通过, 你这样改吧:这一句
    //a[i, j] = "Label" + k.ToString(); 改为
      Label lbl = new Label();
      lbl.ID = "Label" + k.ToString();
      a[i, j] = lbl;
    希望对你有帮助
      

  3.   

    Win Forms: a[i, j].Name
    ASP.NET:   a[i, j].ID
      

  4.   

    skyaspnet的方法可以,lz试一下
      

  5.   

    调试是可以通过但Web页上没有任何显示!我开始时已放了四个Label,现在用的是新生成的Label控件,这个新生成的Label位置在哪里?是不是还要设置一个大小,位置之类的属性?
      

  6.   


    for (int i = 0; i   < 2; i++) 

                for (int j = 0,k=0; j   < 2; j++,k++) 
                { 
                    Label lbl = new Label(); 
                    a[i, j].Name = "Label" + k.ToString(); 
                    a[i, j].Text  = rn.Next(1,20).ToString (); 
                    this.Form1.Controls.Add(lbl);
                } 
    }
      

  7.   

    你沒有把Label控件加入父容器中,當然不會顯示
      

  8.   

    沒仔細看,上面的代碼錯了for (int i = 0; i   < 2; i++) 

                for (int j = 0,k=0; j   < 2; j++,k++) 
                { 
                    Label lbl = new Label(); 
                    lbl.Name = "Label" + k.ToString(); 
                    lbl.Text  = rn.Next(1,20).ToString (); 
                    this.Form1.Controls.Add(lbl);
                } 
    }
      

  9.   

    boblaw果然是厉害。我的问题终于解决了。真是谢谢了!!但有一个问题就是显示在一行了,能不能变成两行呢?
      

  10.   


            for (int i = 0; i < 2; i++)
            {
                for (int j = 0, k = 0; j < 2; j++, k++)
                {
                    Label lbl = new Label();
                    lbl.ID = "Label" + i.ToString() + j.ToString();
                    lbl.Text = rn.Next(1, 20).ToString();
                    this.form1.Controls.Add(lbl);
                }
                if (i<2-1)
                {
                  HtmlGenericControl g = new HtmlGenericControl("br");
                  this.form1.Controls.Add(g);
                }
            }