c#更改按钮。其他方法的文本

c#更改按钮。其他方法的文本,c#,function,properties,C#,Function,Properties,我正在编写一个小数独游戏。我有一个2d数组和许多显示数字的按钮。当我点击其中一个按钮(sudokuBoxClicked)时,我从按钮的名称中得到按钮的x和y位置。现在就行了。函数结束时,打开函数changeNumberinSudoku。此函数首先将数组项更改为button.text上所需的数字,然后将更改button.text,使其不再为null,而是具有变量changeNumber的值 由于我的数独游戏中有81个按钮,程序不知道应该更改哪个按钮。因此,它应该更改触发sudokuBoxClick

我正在编写一个小数独游戏。我有一个2d数组和许多显示数字的按钮。当我点击其中一个按钮(sudokuBoxClicked)时,我从按钮的名称中得到按钮的x和y位置。现在就行了。函数结束时,打开函数changeNumberinSudoku。此函数首先将数组项更改为button.text上所需的数字,然后将更改button.text,使其不再为null,而是具有变量changeNumber的值

由于我的数独游戏中有81个按钮,程序不知道应该更改哪个按钮。因此,它应该更改触发sudokuBoxClicked函数的按钮的文本属性。我现在的问题基本上是:

如何将对象发送方发送到第二个函数,以便更改其属性?

为了让您更好地了解我需要什么,以下是重要的代码:

    int changeNumber = 1;
    int[,] sudokuMap = new int[9,9];

    private void sudokuBoxClicked(object sender, EventArgs e)
    {
        string nameOfClickedBox = (sender as Button).Name;
        int xPositionOfClickedButton = Convert.ToInt32(nameOfClickedBox.Substring(7, 1));
        int yPositionOfClickedButton = Convert.ToInt32(nameOfClickedBox.Substring(9, 1));
        //The array-position of the clicked box, is contained in its name. 
        changeNumberinSudoku(xPositionOfClickedButton, yPositionOfClickedButton);
    }
    private void changeNumberinSudoku(int xPos, int yPos)
    {
        sudokuMap[xPos, yPos] = changeNumber;


    }
感谢所有能帮助我的好人


-AlexanderLe

将发送方作为参数传递给第二个函数:

changeNumberinSudoku(xPositionOfClickedButton, yPositionOfClickedButton, (sender as Button));
并更改您的函数签名:

private void changeNumberinSudoku(int xPos, int yPos, Button btn)
{
    sudokuMap[xPos, yPos] = changeNumber;

    btn.Text = ...
}

第二个功能是什么?你是在说“changeNumberinSudoku”函数吗?@Alexander很乐意帮忙。如果这回答了您的问题,您可以单击复选标记接受它。