如何在单击按钮时在表单中显示/隐藏UserControl?

时间:2015-11-09 19:22:49

标签: c#

我只想在单击按钮时在Windows窗体中打开Usercontrol(包含按钮和文本框)。

我用button1和botton2创建了form1,并创建了Usercontrol1和Usercontrol2。现在在form1中我想在按下button1时调用Usercontrol1(在form1中打开它),然后按button2显示Usercontrol2并隐藏Usercontrol1但我不知道该怎么做。我在form1中为Usercontrol1创建了一个对象(Usercontrol1.visible = true / False),但它没有用。 请帮忙。 谢谢

这是代码:

公共部分类Form1:表单     {         公共Form1()         {             的InitializeComponent();         }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        Usercontrol1 uc1 = new Usercontrol1 ();
        uc1.Visible = true;

    }

    private void button2_Click(object sender, EventArgs e)
    {
        Usercontrol1 uc1 = new Usercontrol1 ();
        uc1.Visible = false;

        Usercontrol2 uc2 = new Usercontrol2 ();
        uc2.Visible = true;
    }
}

1 个答案:

答案 0 :(得分:1)

应该是这样的

        private void button_Click(object sender, EventArgs e)
        {
           if(this.Controls.Contains(this.userControl1))
                 this.Controls.Remove(this.userControl1);
           if(!this.Controls.Contains(this.userControl2))
            this.Control.Add(this.userControl2);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if(!this.Controls.Contains(this.userControl1))
                 this.Control.Add(this.userControl1);
           if(this.Controls.Contains(this.userControl2))
                this.Controls.Remove(this.userControl2);
        }