繁体   English   中英

在 C# windows forms 应用程序中,有没有办法使用整数访问按钮?

[英]In C# windows forms apps, is there a way to access buttons using integers?

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

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);
...

现在按钮编号将成为列表中的索引,您可以通过执行以下操作直接更改 Button 属性(对于按钮 #0):

buttonsList[0].BackGroundImage = null

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

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

然后你可以做类似button[0].Visibility = false; 和类似的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM