有没有办法在 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];
}
}
您还可以使用 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();
}
您可以使用一组按钮
Button[] buttonArray = new Button[10];
您可以按类型从表单中获取所有按钮,然后提取数组:
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();
}