我的应用程序中有多个工具条控件,并且正在寻找一种方法将它们全部隐藏起来。
E.g。
allToolStrips.Visible = false;
而不是
toolstrip1.Visible = false;
toolstrip2.Visible = false;
...
toolstripn.Visible = false;
如果重要的话,我正在使用C#。
答案 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;
}
}