C# 如何使用字符串保持按钮名称使按钮可见

C# 如何使用字符串保持按钮名称使按钮可见,c#,asp.net,C#,Asp.net,嘿,我正在尝试制作一个页面,当数组中的数量大于0时,会显示不同的按钮。我有点希望我能把按钮的名字做成一个字符串,但那不行。我还查找了控制器,试图找到有同样问题的人,但我找不到。我的代码: for (int i = 0; i != amount.Length; i++) { if (amount[i] > 0) { string button = "Button" + i; Button[

嘿,我正在尝试制作一个页面,当数组中的数量大于0时,会显示不同的按钮。我有点希望我能把按钮的名字做成一个字符串,但那不行。我还查找了控制器,试图找到有同样问题的人,但我找不到。我的代码:

        for (int i = 0; i != amount.Length; i++)
    {
        if (amount[i] > 0)
        {
            string button = "Button" + i;
            Button[i].Visible = true;

        }
    }
我觉得如果我能让它看起来像上面的代码,它会比:

        for (int i = 0; i != amount.Length; i++)
    {
        if (amount[0] > 0)
        {

            button.Visible = true;

        }




       else if (amount[1] > 0)
       {

            button.Visible = true;

        }

#And so on (goes up to whatever the amount of numbers are in the array)...
    }

虽然我真的不明白你的问题,但你的意思是这样的吗

    string[] buttonNames = new string[3] {"button1", "button2", "button3" };
    for (int i = 0; i != amount.Length; i++)
    {
        if (amount[i] > 0)
        {
            Control button = this.Controls[buttonNames[i] ];
            button.Visible = true;
        }
    }

不能从字符串创建按钮。您需要动态创建控件。那里有很多教程,正是我想要的!谢谢你刚刚试过,它说我不能在Control button=this.Controls[buttonNames[I]]中从字符串转换为int;刚刚测试过它,它正在工作,您是否将按钮名称放入buttonNames数组而不是buttonText?它说它无法将字符串转换为int,buttonNames[i]用红线下划线:(