用C#写窗口应用程序时,我在Form上添加了Menu和ToolBar,在相应menuItem_Click事件的时候
要在窗体动态生成一些控件,如DataGrid,combox等.
由于在响应不同的menuItem_Click事件之前,要用this.controns.clear()将窗体上的所有控件
清除,然后再动态产生新的控件,但是用了this.controns.clear()后,C#会把toolbar控件也从
窗体上清除,我对toolbar的一些属性设置了一下,都没有解决这个问题
如何做才能使程序只清除其他控件儿不清除toolbar控件?请大家指教!谢谢

解决方案 »

  1.   

    toolbar下面放个panel不就可以了
      

  2.   

    不用Clear,用remove 的话,是不是要传进某一个具体的控件名称?
      

  3.   

    倒循环检查Control中元素,非toolbar或者其他不能删除的控件,则删除。
    int i;
    for (i = Controls.Count - 1; i >= 0; --i)
    {
       if (Controls[i] is ToolBar)

    continue;
    }
    Controls.RemoveAt(i);
    }
      

  4.   

    把动态生成的控件放在panel比较明智,容易控制,因为我就是这么干的呵呵