2011-01-23 61 views
1

我正在构建一个“4连续”游戏,用户提示选择行数和列数。与该用户选择的参数,即时通过分配空间: 'm_PictureBoxsMatrix =新的PictureBox [NumberOfRows,NumberOfColumns]' 但在游戏过程中,玩家可以更改游戏属性为新的棋盘大小又名新的NumberOfRows和新的NumberOfColumns 。 所以在玩家改变棋盘大小后,我需要重新分配空间。 我对不对?在c中调整分配新对象#

问题出在我用 'm_PictureBoxsMatrix = new PictureBox [NumberOfRows,NumberOfColumns]'重新分配空间后,使用新的更改参数。实际的用户界面板不会改变。 请注意,'m_PictureBoxsMatrix =新的PictureBox [NumberOfRows,NumberOfColumns]'在用户界面,它应该相应地更改

+2

这个问题还不清楚。你能否给我们提供一些关于游戏设计的背景知识,并且还可以使用(不要冒昧)段落来分解你的观点。 – tenor 2011-01-23 20:59:39

回答

1

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

+0

@Marc Gravell,我如何完全重新创建表单?我可以放弃所有的控件,然后创建一个新的控件吗?或者我应该循环矩阵来删除所有控件,然后再分配新的控件? – 2011-01-23 21:09:47