Windowsフォームでボタンの2次元配列を作成したいと思います。100個のボタンの配列が必要なため、forループを使用する必要があります。しかし、私はそれを機能させることができません。List>とButtton[、]で試しましたが、機能しません。私がこのようにしようとすると:
private List<List<Button>> LEDarray = new List<List<Button>>();
for (int y = 0; y < 5; y++)
{
this.tempList.Clear();
for (int x = 0; x < 20; x++)
{
this.tempList.Add(new Button());
}
this.LEDarray.Add(tempList);
}
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 20; x++)
{
this.LEDarray[y][x].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(64)))), ((int)(((byte)(0)))));
this.LEDarray[y][x].FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.LEDarray[y][x].ForeColor = System.Drawing.Color.Black;
xPos = xOffset + LEDsize * x + 20;
yPos = yOffset + LEDsize * y + 20;
this.LEDarray[y][x].Location = new System.Drawing.Point(xPos, yPos);
this.LEDarray[y][x].Name = "button" + y.ToString() + x.ToString();
this.LEDarray[y][x].Size = new System.Drawing.Size(LEDsize, LEDsize);
this.LEDarray[y][x].TabIndex = 0;
this.LEDarray[y][x].UseVisualStyleBackColor = false;
}
}
for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 20; x++)
{
this.Controls.Add(this.LEDarray[y][x]);
}
}
ボタンの最後の行のみが表示されます。つまり、前の行ではなく、5行目だけです。Button配列で同様のことを試してみると、まったく機能しません。しかし、配列の方法は単なるSOS呼び出しです。Listでやりたいので、上記のコードを使って動作させるのを手伝ってもらえますか?