Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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# 使用不同的函数在数组按钮中指定不同的文本名称_C#_.net_Arrays - Fatal编程技术网

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

C# 使用不同的函数在数组按钮中指定不同的文本名称,c#,.net,arrays,C#,.net,Arrays,我有一个2x2按钮数组,我想给它一个不同的文本名称 Button[,] btnSeat = new Button[2, 2]; private void initializeBoard() { for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) {

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

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]);


                }
         }

是否有任何东西阻止您将按钮作为参数传递

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]);
      }
   }
}
private void initializeBoard()
{
字符串[,]按钮名称=新字符串[2,2];
按钮名称[0,0]=“狗”;
//继续
对于(int i=0;i<2;i++)
{
对于(int j=0;j<2;j++)
{
btnSeat[i,j]=新按钮();
btnSeat[i,j]。宽度=90;
btnSeat[i,j]。高度=90;
btnSeat[i,j].Text=按钮名称[行][列];
pnlSeat.Controls.Add(btnSeat[i,j]);
}
}
}

这有帮助吗?

我怎样才能让他们有不同的名字?这取决于你想完成什么。你想让他们怎么命名?是否有一些算法需要遵循?只需手动执行,例如btnSeat[0,0].Text=“dog”;btnSeat[1,0].Text=“主席”@charlie9495把它放在你的循环之后,然后?看看我的编辑,看看这是否是你想要的
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]);
      }
   }
}