关于在c#中分配新对象

时间:2011-01-23 20:56:02

标签: c# .net

我正在构建一个“连续4个”游戏,用户可以提示选择行数和列数。使用所选择的用户参数,我通过以下方式分配空间: 'm_PictureBoxsMatrix = new PictureBox [NumberOfRows,NumberOfColumns]' 但在游戏过程中,玩家可以将游戏属性更改为新的棋盘大小,即新的NumberOfRows和新的NumberOfColumns。 因此,在玩家更改电路板尺寸后,我需要重新分配空间。 我是对的吗?

问题出在我重新分配空间之后 'm_PictureBoxsMatrix =具有新更改参数的新PictureBox [NumberOfRows,NumberOfColumns]'。实际的用户界面板不会改变。 请注意'm_PictureBoxsMatrix = new PictureBox [NumberOfRows,NumberOfColumns]'位于UI端,应相应更改

1 个答案:

答案 0 :(得分:1)

由于您使用多个控件,因此确实需要重新创建控件。创建新数组将有助于您的代码,但不会更改表单的Controls集合中的 控件。最简单的过程是重新创建表单完全,否则清空控件(记住每个Dispose()),并从头开始重新创建,将每个PictureBox添加到两个数组(m_PictureBoxsMatrix)和UI .Controls.Add(...))。