如何获取2D对象数组的索引?

时间:2017-06-07 14:59:32

标签: arrays vb.net multidimensional-array

我有一个2D按钮阵列(按钮),它将生成一个5乘5的按钮网格。我想在单击时获得单个按钮的索引(例如,在中心的(2,2)),并通过创建整数变量(例如 topcentre (这将是按钮(x,y - 1)或1,2的索引,其中x和y是单击按钮的值。)然后我可以向周围的人添加文本等的按钮。

这是一个可视化:

0,0 | 0,1 | 0,2 | 0,3 | 0,4

1,0 | 1,1 | 1,2 | 1,3 | 1,4

2,0 | 2,1 | 2,2 | 2,3 | 2,4

3,0 | 3,1 | 3,2 | 3,3 | 3,4

4,0 | 4,1 | 4,2 | 4,3 | 4,4

我该怎么做?

1 个答案:

答案 0 :(得分:3)

在后端你可以只使用一个阵列。

0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 1,0 | 1,1 | 1,2 | 1,3 | 1,4 | 2,0 | 2,1 | 2,2 | 2,3 | 2,4 | 3,0 | 3,1 | 3,2 | 3,3 | 3,4 | 4,0 | 4,1 | 4,2 | 4,3 | 4 ,4

即使在UI上,它也会显示为2D。

2,2将是索引12({x} * {width} + {y} = 2 * 5 + 2 = 12)。要获取其他索引,您可以减去或添加。

左上角= {指数} - {宽度} - 1
Top = {index} - {width}
右上= {指数} - {宽度} + 1
...