Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Click事件方法获取变量并在另一个类中使用_C#_Wpf - Fatal编程技术网

C# 从Click事件方法获取变量并在另一个类中使用

C# 从Click事件方法获取变量并在另一个类中使用,c#,wpf,C#,Wpf,我第一次尝试用课堂制作一个棋盘。我正在努力从first click事件方法中获取一个变量,并在DrawRow方法中使用它。我知道它还没有结束,但我真的挂断了这一点,有一个艰难的时间继续下去 private void ToolStripMenuItemDrawBoard_Click(object sender, EventArgs e) { //Prevents errors using try catch method Graphics paper = pictureBoxDis

我第一次尝试用课堂制作一个棋盘。我正在努力从first click事件方法中获取一个变量,并在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;
    }
}
private void ToolStripMenuItemDrawBoard\u单击(对象发送方,事件参数e)
{
//使用try-catch方法防止错误
图形纸=pictureBoxDisplay.CreateGraphics();
尝试
{
int boardSize=int.Parse(ToolStripTextBoardSize.Text);
如果(boardSize>MIN_BOARD_SIZE | boardSize
我看你的问题很清楚。无论如何,我不敢相信这就是你所说的

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
}
private void ToolStripMenuItemDrawBoard\u单击(对象发送方,事件参数e)
{
//使用try-catch方法防止错误
图形纸=pictureBoxDisplay.CreateGraphics();
尝试
{
int boardSize=int.Parse(ToolStripTextBoardSize.Text);
如果(boardSize>MIN_BOARD_SIZE | boardSize

你明白了。当这一点被标记时,我建议您通读C#编码(或通用编码)的基础知识。

有几种方法可以解决这个问题,学员就是其中之一:对不起,我很困惑。您感到困惑,我们都感到困惑…请确认要在方法或类之外访问哪个变量。有多种方法。我想从ToolStripMenuItemDrawBoard获取boardSize\u单击并在DrawRow方法中使用它