我在mainForm界面里画了一个Panel,点击按钮添加一个UserControl,我再点击另一个按钮,我想将这个panel里的UserControl移除掉再添加新的.现在我需要
1.先判断panel里有没有添加UserControl
2.如果有怎么移除掉?

解决方案 »

  1.   

    假设你的UserControl就叫MyUC吧,如下:
    for(int i = panel.Controls.Count - 1;i > = 0;i--)//逆向遍历panel中的所有子控件
    {
       if(ctrl is MyUC)//如果是你要的控件类型
       {
            panel.Controls.RemoveAt(i);//从panel子控件集合中移除
       }
    }
      

  2.   


    这里ctrl是什么啊?写进代码里提示当前上下文中不存在名称"ctrl"另MyUC我应该是不知道的,要不我就可以直接remove掉了.
      

  3.   


            private void button1_Click(object sender, EventArgs e)
            {
                foreach (Control item in panel1.Controls)
                {
                    if (item is UserControl1)
                    {
                        panel1.Controls.Remove(item);
                        break;
                    }
                }
                panel1.Controls.Add(new UserControl1());
                
            }
      

  4.   


    ctrl是指的Pane里的控件,MyUc是你的UserControl,就是你定义控件的时候,class 后面的那个名称
      

  5.   

    做出来了            if (mainPanel.Controls.Count > 0)//判断panel里是否有面板.
                {
                    mainPanel.Controls.Clear();//有1个删全部做人要够狠
                  }然后我就可以随意加载窗体啦,