42个Panel,命名分别是pnl1~pnl42
这种情况怎么传递给Panel[] panels=new Panel[42]呢?不可能要一个个赋值吧?

解决方案 »

  1.   

    for(int i = 1; i<=42;i++){
        panels[i].Id = "Panel" + i.ToString();
        }
      

  2.   


    Panel[] panels=new Panel[42];
                for (int i = 1; i < 43; i++)
                {
                    panels[i] = "pnl"+ i.ToString();
                }不行啊!!!!
      

  3.   


           //遍历所有控件
                foreach (Control item in Controls)
                {
                    //判断是否是Panel
                    if (item is Panel)
                    { 
                        //获得Panel...具体操作..
                    }
                }
      

  4.   

    1楼只是给你个思路,没叫你照抄代码,款且winform控件没有Id属性,算了,写个用collection的给你,仅供参考//确保using System.Collections.ObjectModel
    Collection<Panel> _Panels = new Collection<Panel>();
    for(int i = 1; i <= 42; i++) {
        _Panels[i].Name = "Panel" + i.ToString();
        }
      

  5.   

    Panel[] p=new Panel[42];
    for(int i = 1; i<=42;i++){
        p[i]=new Panel();
        p[i].Id="panel"+i;
        }
      

  6.   

    改了一下:
    //确保using System.Collections.ObjectModel
    Collection<Panel> _Panels = new Collection<Panel>();
                    for(int i = 1; i <= 42; i++) {
                        Panel _pnl = new Panel();
                        _pnl.Name = "Panel" + i.ToString();
                        _Panels.Add(_pnl);
                        }