你还不如用TabControl的页签控制显示的切换呢,每个page页上放一个panel,按钮控制pageindex即可

解决方案 »

  1.   

    是不是panel包含在panel里面了,parent的panel隐藏了,里面的panel肯定不会显示了。。
      

  2.   

    我做过这样的控件,就是事先设计好每个界面,点击一个按钮时,加进去一个Content,点击另一按钮时,清空,加进去另一个
    不过,用隐藏的方式也可以的,你是试试设置visibility,而不是设置IsVisible
      

  3.   

    8个页面都放上去 点中一个后 把你要的panel 例如panel1:panel.BringToFront();
      

  4.   


    也可以直接把TabControl的选项卡按钮的Apearance属性改成FlatButtons,然后好好重写TabControl的外观。呵呵
      

  5.   

    肯定是你两个panel放置的位置不好。显示不出来的原因应该是你把其中一个panel放置在了另一个panel里面去了。你仔细检查一下吧
      

  6.   

    之前我也出现过这种情况,就是因为panel的位置放不好,所以不显示出来,后来才发现原来是把panel1放置在了另一个panel2中了。所以根据语句来说的话,panel1.visible=true;panel2.visible=false;panel1在panel2中,panel2不显示,所以panel1也跟着不显示了。
      

  7.   

    隐藏的话系统开销大啊,你可以用panel做个用户自定义控件,然后上面的事件用委托传递进去,然后每次点击相应的按钮的时候,实例化相应的panel添加到form上面去就好了。
      

  8.   

    panel1.Visible = true;
    panel2.Visible = false;
    panel1.bringtofront;
            
      

  9.   

    太乱了;
    建议放一个TabControl在下面,设置location属性为负数,把上面的标签藏起来,后台设置SelectedTab
    一样能达到你这个效果,还不乱
      

  10.   

    在Form中放入3个panel ,分别是panel1,panel2,panel3,然后再Form_load中加入
               panel1.Parent = panel3;
                panel2.Parent = panel3;
                panel3.SendToBack();
                panel1.BringToFront();
                panel1.Show();这样panel3就作为panel2和panel1的父控件了,然后显示panel1的代码如下
                      panel2.SendToBack();
                        panel2.Visible = false;
                        panel1.BringToFront();
                        panel1.Show();显示panel2:
                panel1.SendToBack();
                        panel1.Visible = false;
                        panel2.BringToFront();
                        panel2.Show();