C# 如何使用数组在窗体中保存控件并隐藏/显示它们

C# 如何使用数组在窗体中保存控件并隐藏/显示它们,c#,arrays,winforms,windows-forms-designer,form-control,C#,Arrays,Winforms,Windows Forms Designer,Form Control,我对编码还是新手。我正在做一个计算器,但我还想要很多其他东西。就像c#WindowsForms应用程序中的转换计算器、烹饪书和汉字部首字典一样,我想使用组合框从一个转换到下一个,所以我要用我想要隐藏/显示的所有控件创建一个数组 string[] numList = {"button0","button1","button2", "button3"};//this will have all number and . for (int i = 0; i < numList.Length; i

我对编码还是新手。我正在做一个计算器,但我还想要很多其他东西。就像c#WindowsForms应用程序中的转换计算器、烹饪书和汉字部首字典一样,我想使用组合框从一个转换到下一个,所以我要用我想要隐藏/显示的所有控件创建一个数组

string[] numList = {"button0","button1","button2", "button3"};//this will have all number and .
for (int i = 0; i < numList.Length; i++)
{
    numList[i].Hide();
}
string[]numList={“button0”、“button1”、“button2”、“button3”}//这将有所有的数字和数字。
for(int i=0;i

但是它告诉我“隐藏”没有定义,但是当我将
numList[I]
切换到
button0
时,它可以工作,但我不希望每次我向
组合框添加一些东西来修复此方法或任何其他方法时都编写相同的11控件,如果你想隐藏所有
按钮,请尝试以下方法:

foreach (Button control in Controls.OfType<Button>())
{
    (control).Hide();
}
或使用linq:

foreach (Button control in Controls.OfType<Button>().Where(control => control.Tag.ToString() == "OP"))
{
     (control).Hide();
}
foreach(Controls.OfType()中的按钮控件,其中(control=>control.Tag.ToString()==“OP”))
{
(控制)。隐藏();
}

如果要隐藏所有
按钮,请尝试以下操作:

foreach (Button control in Controls.OfType<Button>())
{
    (control).Hide();
}
或使用linq:

foreach (Button control in Controls.OfType<Button>().Where(control => control.Tag.ToString() == "OP"))
{
     (control).Hide();
}
foreach(Controls.OfType()中的按钮控件,其中(control=>control.Tag.ToString()==“OP”))
{
(控制)。隐藏();
}

如果要保留字符串列表,实际上应该将按钮添加到列表中,以使隐藏方法可见

Control[] numList = {button0, button1, button2, button3 };

如果要保留一个字符串列表,实际上应该将按钮添加到列表中,以使隐藏方法可见

Control[] numList = {button0, button1, button2, button3 };
试试下面的代码

private void btnHide_Click(object sender, EventArgs e)
{
    string[] buttonList = { "button1", "button2", "button3" };
    for (int i = 0; i < buttonList.Length; i++)
    {
        Control[] ctrl = this.Controls.Find(buttonList[i], true);
        ((Button)ctrl[0]).Visible = false;
    }
}
private void btnHide\u单击(对象发送方,事件参数e)
{
字符串[]buttonList={“button1”、“button2”、“button3”};
对于(int i=0;i
尝试下面的代码

private void btnHide_Click(object sender, EventArgs e)
{
    string[] buttonList = { "button1", "button2", "button3" };
    for (int i = 0; i < buttonList.Length; i++)
    {
        Control[] ctrl = this.Controls.Find(buttonList[i], true);
        ((Button)ctrl[0]).Visible = false;
    }
}
private void btnHide\u单击(对象发送方,事件参数e)
{
字符串[]buttonList={“button1”、“button2”、“button3”};
对于(int i=0;i
我不明白!您正在尝试创建一个组合框,如果您单击某个项目,该组合框将隐藏或隐藏其他我不理解的项目!您正在尝试创建一个组合框,如果单击某个项目,该组合框将隐藏或隐藏其他项目