首先声明,我刚接触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]上,但不知道该怎么弄。麻烦懂的朋友帮帮我。在下有礼了。
我现在做一个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]上,但不知道该怎么弄。麻烦懂的朋友帮帮我。在下有礼了。
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]);
}
能告诉我是为什么吗?
我前面已经分配出去了3个TextBox大小的内存,这里为什么还要分配呢?
是否会造成内存的浪费,当然虽然C#有自己的垃圾回收机制。