使用不同的函数在数组按钮中指定不同的文本名称

时间:2015-10-09 17:59:49

标签: c# .net arrays

我有一个2x2按钮数组,我想给它一个不同的文本名称。

perl -pe 's/^.*://' file

IT将有这样的输出

enter image description here

如何使用不同的功能分配文本

Button[,] btnSeat = new Button[2, 2];
        private void initializeBoard()
        {
            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 2; j++)
                {
                        btnSeat[i, j] = new Button();
                        btnSeat[i, j].Width = 90;
                        btnSeat[i, j].Height = 90;
                        pnlSeat.Controls.Add(btnSeat[i, j]);


                }
         }

1 个答案:

答案 0 :(得分:3)

是否有什么阻止您将按钮作为参数传递?

public void assignName(Button  button)
{ 
   button.Text = "ex";
}

修改

由于您的命名约定是提前知道的,因此您只需使用地图即可。

string[,] buttonNames = new string[2,2];
buttonNames[0,0] = "dog";
// continue

然后,如果你想使用单独的函数,你需要传入3个参数。

public void assignName(Button button, int row, int column)
{
    string[,] buttonNames = new string[2,2];
    buttonNames[0,0] = "dog";
    // continue

   buttonText.Text = buttonNames[row][column];
}

备注

我要么在类级别创建名称贴图静态并在静态构造函数中指定,或者省略该函数,在initializeBoard方法中声明名称贴图,然后在那里使用它。

例如

private void initializeBoard()
{
   string[,] buttonNames = new string[2,2];
   buttonNames[0,0] = "dog";
   // continue

   for (int i = 0; i < 2; i++)
   {
      for (int j = 0; j < 2; j++)
      {
         btnSeat[i, j] = new Button();
         btnSeat[i, j].Width = 90;
         btnSeat[i, j].Height = 90;
         btnSeat[i, j].Text = buttonNames[row][column];
         pnlSeat.Controls.Add(btnSeat[i, j]);
      }
   }
}

这有帮助吗?