C# 使用不同的函数在数组按钮中指定不同的文本名称
我有一个2x2按钮数组,我想给它一个不同的文本名称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++) {
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]);
}
}
}