有没有办法在C#中使用数值引用按钮?我试图使用一个可重用的方法操作按钮上的文本。这是我目前的编码: 一键式点击方法(总共有16个):
private void Card1_Click(object sender, EventArgs e)
{
buff = CardClick(1);
if (buff != null)
{
Card1.Text = buff;
}
}
可重用的方法(代码确实有漏洞,正在开发中):
private string CardClick(int card)
{
guesses[g++] = card; //alternate g
if ((guesses[0] != null) && (guesses[1] != null))
{
//Reset Card guesses[0]
//Reset Card guesses[1]
return null;
}
else
{
if (card > 8)
{
return map[2, card];
}
else
{
return map[1, card];
}
}
答案 0 :(得分:0)
您可以使用按钮数组
Button[] buttonArray = new Button[10];
答案 1 :(得分:0)
您可以按类型从表单中获取所有按钮,然后提取数组:
public Button[] AllButtons()
{
var buttons = new List<Button>();
foreach (var control in this.Controls)
{
if (control.GetType() == typeof(Button))
buttons.Add((Button)control);
}
return buttons.ToArray();
}
答案 2 :(得分:0)
您还可以使用Controls.Find()根据其名称获取对所需按钮的引用:
int i = 1;
Control[] matches = this.Controls.Find("Card" + i.ToString(), true);
if (matches.Length > 0 && matches[0] is Button)
{
Button btn = (Button)matches[0];
// ... do something with "btn" ...
btn.PerformClick();
}