winform裏有一個主窗體,主窗體裏有一個panel,然後在UserControl1.cs裏有一個button,如何在button事件上隱藏或者顯示panel?

解决方案 »

  1.   

    如果 UserControl 是 Panel 的子控件,那么:private void button1_Click(object sender, EventArgs e)
    {
        Panel panel = this.Parent as Panel;
        if (panel != null) panel.Visible = false;
    }
      

  2.   

    不是哦,panel是frmMain裏的,UserControl是另外一個獨立的用戶控件,不屬於panel的子控件
      

  3.   

    button的click事件这么写        private void button1_Click_1(object sender, EventArgs e)
            {
                Form form = FindForm(); //找到主窗体
                Control panel = form.Controls.Find("panel", false)[0]; //找到Panel            //设置Panel的隐藏和显示
                if (panel.Visible)
                    panel.Visible = false;
                else
                    panel.Visible = true;
            }
    只要你的Control在那个窗体中就可以