我创建了一个包含100个广告位(10x10)的TableLayoutPanel
。在每个单元格中,我创建了一个新的TableLayoutPanel
。
然后我创建了一个数组TableLayoutPanel[,] tb = new TableLayoutPanel[10,10];
所以现在我想循环遍历main(10x10)TableLayoutPanel的每个单元格,并将每个单元格中的每个tablelayoutpanel
分配给2D数组中的内存插槽。
我一直在头脑风暴和网上搜索,有点暗示这将涉及两个for
循环和一个foreach
循环,但我很困惑,到底是什么。
根据我的编码,我认为进行分配的最佳位置是在这段代码中:
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
mainTPL.Controls.Add(new TableLayoutPanel
{
Name = "tbl" + i + "-" + j,
CellBorderStyle = TableLayoutPanelCellBorderStyle.Inset,
Size = new Size(70, 70),
RowCount = 2,
ColumnCount = 3,
}, i, j);
//Could I do the assignment right here?
}
}
我没有针对每个循环,但是可以在双循环中进行赋值吗?如何指定新创建的TableLayoutPanel
以在数组中分配它?
谢谢你们。
答案 0 :(得分:0)
所以我找到了一种使用嵌套if
语句的方法。我打赌还有其他方法可以做到这一点,但现在这对我有用。希望这有助于某人。
TableLayoutPanel[,] grid = new TableLayoutPanel[10, 10];
int k=0,l=0;
foreach (TableLayoutPanel c in mainTPL.Controls)
{
if(k<10 && l<10)
{
grid[k, l] = c;
if (l != 9)
l++;
else
{
l = 0;
k++;
}
}
}