首先声明,我刚接触C#不久哈
我现在做一个Windows应用程序。需要用代码生成一个TextBox数组。应该怎样写呢?
我大概写了下面一段代码:
private System.Windows.Forms.TextBox[] textbox=new TextBox[3];
for(int i=0;i<3;i++)
{
    textbox[i].Location = new System.Drawing.Point(20, 20*i);
    textbox[i].Name="textbox"+i;
    textbox[i].Size=new System.Drawing.Size(16,16);
    textbox[i].Text="";
    this.Controls.Add(textbox[i]);
}
编译能通过,但是在运行的时候会出错。我怀疑是出在textbox[i]上,但不知道该怎么弄。麻烦懂的朋友帮帮我。在下有礼了。

解决方案 »

  1.   

    private System.Windows.Forms.TextBox[] textbox=new TextBox[3];
    for(int i=0;i<3;i++)
    {
        textbox[i] = new TextBox(); //加上这句再试试
        textbox[i].Location = new System.Drawing.Point(20, 20*i);
        textbox[i].Name="textbox"+i;
        textbox[i].Size=new System.Drawing.Size(16,16);
        textbox[i].Text="";
        this.Controls.Add(textbox[i]);
    }
      

  2.   

    恩 就是这句 运行出来了!!!!
    能告诉我是为什么吗?
    我前面已经分配出去了3个TextBox大小的内存,这里为什么还要分配呢?
    是否会造成内存的浪费,当然虽然C#有自己的垃圾回收机制。
      

  3.   

    前面是分配数组,后面是分配TextBox