也就是说,左边是一个panel,右边是一组panel;左边的panel中有一系列的按钮,要通过这些按钮然后右边显示不同的内容。

解决方案 »

  1.   

    我使用了这样的写法是不可以的,点击第二个按钮就会不行了:
            private void button1_Click(object sender, EventArgs e)
            {
                this.panel1.Visible = true;
                this.panel2.Visible = false;
                this.panel3.Visible = false;
            }        private void button2_Click(object sender, EventArgs e)
            {
                this.panel1.Visible = false;
                this.panel2.Visible = true;
                //this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
                this.panel3.Visible = false;
            }        private void button3_Click(object sender, EventArgs e)
            {
                this.panel1.Visible = false;
                this.panel2.Visible = false;
                this.panel3.Visible = true;
            }
      

  2.   

    右边的panel的内容为去掉标题栏的窗体或者自定义控件,点击按钮时动态添加
      

  3.   

    试试在load里面就全不设置为不可见,然后只在对应的按钮里面打开对应的panel显示
      

  4.   

    把右邊的panel壘放在一起.大小一樣.當點擊某個按鈕時,就讓某個panel顯示出來就行了.

    button1 顯示panel1
    button2 顯示panel2button_click(object sender,event e)
    {
      button b=sender as button;
     
     if(b.text=="button1")
       panel1.BrintToFront();
     else   panel2.BrintToFront();}
      

  5.   

    這樣就不需要去設置panel的可見不可見問題了!
      

  6.   

    终于搞定,都不知道怎么搞的,最后的代码这样才可以,很奇怪
            private void button2_Click(object sender, EventArgs e)
            {
                Button b = sender as Button;
                if (b.Text == "button2")
                {
                    staffPanel.Hide();
                    patientPanel.Show();
                    patientPanel.BringToFront();
                    patientPanel.Dock = DockStyle.Fill;                
                    adminPanel.Hide();
                }        }