在C#窗体应用程序中,有没有一种方法可以使用整数访问按钮



我有一个数组,我在其中存储按钮的数量,但我想使用一个检查函数:

void check()
{
if (counter == 2)
{
System.Threading.Thread.Sleep(200);
if ((buttons[0] == 1 && buttons[1] == 6) || (buttons[0] == 6 && buttons[1] == 1))
{
button1.BackgroundImage = null;
button6.BackgroundImage = null;
}
buttons[0] = 0;
buttons[1] = 0;
counter = 0;
}
}

所以我只是想知道,有没有一种方法,可以设置背景图像,而不需要这样声明?例如buttons[0].buttons.BackGroundImage = null;或者有实际的方法可以做到这一点吗?

谢谢你的回答!

您可以将所有Button对象放在一个列表中:

定义成员变量:

List<Button> buttonsList;

然后用实际的Button(设计者创建的对象(填充它:

buttonsList.Add(button1);
// ...
buttonsList.Add(button6);
// ...

现在,按钮编号将与列表中的索引相关联(在这个特定示例中,由于第一个Buttonbutton1,而不是button0,因此偏移量为1(
因此,您可以通过执行例如(对于第一个按钮(:来直接更改Button属性

buttonsList[0].BackGroundImage = null;

要获得按钮数组,请过滤Form.Controls属性

Button[] button = this.Controls.OfType<Button>().ToArray();

那么你就可以做类似button[0].Visibility = false;和类似的事情。

相关内容

最新更新