您可能想要考虑在表单中使用TableLayoutPanel .
您可以使用的一种方法是在设计器中创建单个控件(如果它是固定大小的网格),或者在可变大小网格的程序代码中创建,并将它们放入(或添加到)网格单元格中 .
如果需要处理单击事件,可以将所有控件的事件绑定到单个处理程序(在链接到的文章中描述) . 然后,设置每个控件的tag属性以反映网格位置 . 例如,如果您的网格小于十乘十,请使用整数设置标记,其中列为十位数,行为一位 . 在处理程序例程中,tou可以使用sender.tag属性判断单击了哪个控件 .
---进一步阅读后,似乎可以使用TableLayoutPanel GetPositionFromControl方法来确定触发事件的控件的位置,即:tableName.GetPositionFromControl(sender) . 我将在稍后的代码中尝试,也许我可以摆脱标签 .
如果您不需要处理事件,则可以使用TablelayoutPanel GetControlFromLocation方法来访问各个控件 .
因此,实际上,您可以使用TableLayoutPanel作为二维控件数组,而无需编写自己的数组 .