.NET引用类似的控件

时间:2010-02-01 09:53:32

标签: c# .net controls toolstrip

我的应用程序中有多个工具条控件,并且正在寻找一种方法将它们全部隐藏起来。

E.g。

allToolStrips.Visible = false;

而不是

toolstrip1.Visible = false;
toolstrip2.Visible = false;
...
toolstripn.Visible = false;

如果重要的话,我正在使用C#。

4 个答案:

答案 0 :(得分:5)

轻松一个

foreach(Control ctrl in this.Controls)
{           
         if(ctrl.GetType() ==typeof(ToolStrip))

         ctrl.Visible=false;    

}

答案 1 :(得分:2)

将它们放在一个向量中,然后将它们隐藏在每个循环中?

答案 2 :(得分:1)

你可以使用linq来做到这一点。这样的事情。

this.Controls.Select(c => c is ToolStrip).ToList().ForEach(ts => ts.Visible = false);

我没有检查语法,但我认为没问题。

答案 3 :(得分:0)

除了其他人的答案之外,考虑对其进行编码,以便在切换控件时也可以使用相同的代码将控件再次翻转为可见,这样就不会重复代码:

void SetMenusVisibility(bool visible)
{
    //credit to Vivek for his loop
    foreach(Control ctrl in this.Controls)
    {           
             if(ctrl.GetType() ==typeof(ToolStrip))

             ctrl.Visible=visible;    

    }
}