我有一个2x2按钮数组,我想给它一个不同的文本名称。
perl -pe 's/^.*://' file
IT将有这样的输出
如何使用不同的功能分配文本
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]);
}
}
答案 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]);
}
}
}
这有帮助吗?