当前位置:编程学习 > C#/ASP.NET >>

c#关于多个Panel显示的问题




如上图,我一共有8个按钮,8个Panel.我想就是点击一个按钮后,对应显示相应的Panel,求方法

我之前是这样写的。但是panel显示不出来,不知道是怎么回事

private void frmRate_Load(object sender, EventArgs e)
        {
            panel1.Visible = true;
            panel2.Visible = false;
        }

        private void toolStripButton3_Click(object sender, EventArgs e)
        {
            panel2.Visible = true;
            panel1.Visible = false;
            
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            panel1.Visible = true;
            panel2.Visible = false;
        }
--------------------编程问答-------------------- 大神来,在线等 --------------------编程问答-------------------- 最好使用遍历 --------------------编程问答-------------------- 你还不如用TabControl的页签控制显示的切换呢,每个page页上放一个panel,按钮控制pageindex即可 --------------------编程问答--------------------    你这样的话会不好设计的 一个一个的隐藏设计的时候8个 怎么摆。。直接单独拿出来写 然后添加到你所需要的容器里面  打开某一个就先清空容器 然后重新添加进去就可以了啊 --------------------编程问答-------------------- 是不是panel包含在panel里面了,parent的panel隐藏了,里面的panel肯定不会显示了。。 --------------------编程问答-------------------- 我做过这样的控件,就是事先设计好每个界面,点击一个按钮时,加进去一个Content,点击另一按钮时,清空,加进去另一个
不过,用隐藏的方式也可以的,你是试试设置visibility,而不是设置IsVisible --------------------编程问答-------------------- 8个页面都放上去 点中一个后 把你要的panel 例如panel1:panel.BringToFront(); --------------------编程问答--------------------
引用 3 楼 bdmh 的回复:
你还不如用TabControl的页签控制显示的切换呢,每个page页上放一个panel,按钮控制pageindex即可


也可以直接把TabControl的选项卡按钮的Apearance属性改成FlatButtons,然后好好重写TabControl的外观。呵呵 --------------------编程问答-------------------- 肯定是你两个panel放置的位置不好。显示不出来的原因应该是你把其中一个panel放置在了另一个panel里面去了。你仔细检查一下吧 --------------------编程问答-------------------- 之前我也出现过这种情况,就是因为panel的位置放不好,所以不显示出来,后来才发现原来是把panel1放置在了另一个panel2中了。所以根据语句来说的话,panel1.visible=true;panel2.visible=false;panel1在panel2中,panel2不显示,所以panel1也跟着不显示了。 --------------------编程问答-------------------- 隐藏的话系统开销大啊,你可以用panel做个用户自定义控件,然后上面的事件用委托传递进去,然后每次点击相应的按钮的时候,实例化相应的panel添加到form上面去就好了。 --------------------编程问答-------------------- panel1.Visible = true;
panel2.Visible = false;
panel1.bringtofront;
         --------------------编程问答-------------------- 太乱了;
建议放一个TabControl在下面,设置location属性为负数,把上面的标签藏起来,后台设置SelectedTab
一样能达到你这个效果,还不乱
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,