【发布时间】:2016-01-10 22:55:38
【问题描述】:
我有一个简单的问题,但它给我带来了很多麻烦。
我正在用 C# 编写一个跳棋程序。
这是负责在屏幕上生成按钮的代码:
for (ButtonRowindex = 0; ButtonRowindex < m_BoardSize; ButtonRowindex++)
{
for (ButtonColindex = 0; ButtonColindex < m_BoardSize; ButtonColindex++)
{
m_PlayButtonArray[ButtonRowindex, ButtonColindex] = new Button();
m_PlayButtonArray[ButtonRowindex, ButtonColindex].Size = new Size(SizeOfButton, SizeOfButton);
m_PlayButtonArray[ButtonRowindex, ButtonColindex].Left = 10 + ButtonRowindex * SizeOfButton;
m_PlayButtonArray[ButtonRowindex, ButtonColindex].Top = 50 + ButtonColindex * SizeOfButton;
if ((ButtonRowindex + ButtonColindex) % 2 == 0)
{
m_PlayButtonArray[ButtonRowindex, ButtonColindex].Enabled = false;
m_PlayButtonArray[ButtonRowindex, ButtonColindex].BackColor = Color.Gray;
}
m_PlayButtonArray[ButtonRowindex, ButtonColindex].Text = string.Format("{0}", counter);
counter++;
this.Controls.Add(m_PlayButtonArray[ButtonRowindex, ButtonColindex]);
}
}
问题是它似乎以错误的顺序输入它们。这是他们进入的顺序:
这造成了一个大问题,因为在整个代码中我试图访问元素 i,j 但实际上它给了我 j,i,我不想仅仅因为这个简单的问题而在任何地方切换我的代码。
为什么会这样?如何解决这个问题?
我最大的问题是 windows 窗体中的按钮 i,j 不是我的 m_PlayButtonArray 中的按钮 i,j。这是个大问题。
【问题讨论】:
-
下次能不能只把截图裁剪成表格。
-
为什么不使用
TableLayoutPanel?