在 C# windows 表单应用程序中,有没有办法使用整数访问按钮?
In C# windows forms apps, is there a way to access buttons using integers?
我有一个数组,用于存储按钮的数量,但我想使用检查功能:
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
然后用您实际的按钮(设计者创建的对象)填充它:
buttonsList.Add(button1);
...
buttonsList.Add(button6);
...
现在按钮编号将成为列表中的索引,您可以直接更改按钮属性,例如(对于按钮 #0):
buttonsList[0].BackGroundImage = null
要获得按钮数组,过滤 Form.Controls
属性
Button[] button = this.Controls.OfType<Button>().ToArray();
然后你可以做类似 button[0].Visibility = false;
和类似的事情。
我有一个数组,用于存储按钮的数量,但我想使用检查功能:
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
然后用您实际的按钮(设计者创建的对象)填充它:
buttonsList.Add(button1);
...
buttonsList.Add(button6);
...
现在按钮编号将成为列表中的索引,您可以直接更改按钮属性,例如(对于按钮 #0):
buttonsList[0].BackGroundImage = null
要获得按钮数组,过滤 Form.Controls
属性
Button[] button = this.Controls.OfType<Button>().ToArray();
然后你可以做类似 button[0].Visibility = false;
和类似的事情。