有关控件数组的问题!
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,如果控件数组下标太大,那得赋值到什么时候,有什么好的办法吗?
------解决方案--------------------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 ();
}
------解决方案--------------------我上机做了一下, 调试通过, 你这样改吧:
这一句
//a[i, j] = "Label" + k.ToString();
改为
C# code
Label lbl = new Label();
lbl.ID = "Label" + k.ToString();
a[i, j] = lbl;
------解决方案--------------------
skyaspnet的方法可以,lz试一下
------解决方案--------------------
C# code
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);
}
}