我试图从第一次使用类创建国际象棋棋盘。我正在努力从第一个单击事件方法获取变量并在DrawRow方法中使用它。我知道它还没有完成,但我真的很喜欢这一点并且很难继续
private void ToolStripMenuItemDrawBoard_Click(object sender, EventArgs e)
{
//Prevents errors using try catch method
Graphics paper = pictureBoxDisplay.CreateGraphics();
try
{
int boardSize = int.Parse(ToolStripTextBoxBoardSize.Text);
if (boardSize > MIN_BOARD_SIZE || boardSize < MAX_BOARD_SIZE)
{
DrawRow();
}
else
{
MessageBox.Show("Between 2-10");
//Clears all textboxes
foreach (Control c in Controls)
{
if (c is TextBox)
{
c.Text = "";
}
}
}
}
}
public void DrawSquare()
{
Graphics paper = pictureBoxDisplay.CreateGraphics();
paper.DrawRectangle(penBlack, positionX, positionY, WIDTH, HEIGHT);
}
public void DrawRow(ToolStripMenuItemDrawBoard_Click(boardSize))
{
int columnNum = 0;
int counter = 0;
Graphics paper = pictureBoxDisplay.CreateGraphics();
while (boardSize < columnNum)
{
DrawSquare();
if ((counter % 2) == 0)
paper.FillRectangle(brDarkBrown, positionX, positionY, WIDTH, HEIGHT);
else if ((counter % 2) != 0)
paper.FillRectangle(brLightBrown, positionX, positionY, WIDTH, HEIGHT);
positionX = positionX + Width;
columnNum += 1;
}
}
答案 0 :(得分:1)
我的问题看起来很清楚。无论如何,我无法相信这就是你所说的。
private void ToolStripMenuItemDrawBoard_Click(object sender, EventArgs e)
{
//Prevents errors using try catch method
Graphics paper = pictureBoxDisplay.CreateGraphics();
try
{
int boardSize = int.Parse(ToolStripTextBoxBoardSize.Text);
if (boardSize > MIN_BOARD_SIZE || boardSize < MAX_BOARD_SIZE)
{
// Pass your board size to DrawRow()
DrawRow(boardSize);
}
else
{
// ..
}
}
}
// Declare your parameter (int boardsize)
public void DrawRow(int boardSize)
{
// boardSize accessable here
}
你明白了。由于这个标记我建议你阅读C#编码(或通用编码)的基础知识。