打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c#写的折叠菜单
自己写的一个C#的折叠菜单,可能写的很麻烦。。。仿WINDOWS那种吧,点一个按钮就会隐藏显示下面的菜单,其他菜单不变,以上
 
        //两个LIST用来放BUTTON和PANEL
        List<Button> listbut = new List<Button>();
        List<Panel> listpan = new List<Panel>();
        //这里就不多写了
        private void Form1_Load(object sender, EventArgs e)
        {
            button3.Top = 0;
            panel3.Top = button3.Top + button3.Height;
            button4.Top = panel3.Top + panel3.Height;
            panel4.Visible = false;
            button5.Top = button4.Top + button4.Height;
            panel5.Visible = false;
            listbut.Add(button3);
            listbut.Add(button4);
            listbut.Add(button5);
            listpan.Add(panel3);
            listpan.Add(panel4);
            listpan.Add(panel5);
        }
 //实现折叠的方法
 private void btnpanv(Button btn)
        {
            int num1 = int.Parse(btn.Name.Substring(6));//这里的裁剪根据按钮名字来写
            foreach (Button bt in listbut)
            {
                int num2 = int.Parse(bt.Name.Substring(6));//这里的裁剪根据按钮名字来写
                int top = 0;
                foreach (Panel pl in listpan)
                {
                    int pnum = int.Parse(pl.Name.Substring(5));这里的裁剪根据PANEL名字来写
                    if (num2 > pnum && num2 != 3)//此处的3是最上的按钮编号
                    {
                        if (pl.Visible == true)
                        {
                            top += this.button3.Height + pl.Height;
                        }
                        else
                        {
                            top += this.button3.Height;
                        }
                    }
                    else if (num2 == pnum)
                    {
                        if (num2 == num1)
                        {
                            if (pl.Visible == true)
                            {
                                pl.Visible = false;
                            }
                            else
                            {
                                pl.Visible = true;
                            }
                        }
                        pl.Top = top + bt.Height;
                        break;
                    }
                }
                bt.Top = top;
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            btnpanv(button3);
        }

        private void button4_Click(object sender, EventArgs e)
        {
            btnpanv(button4);
        }

        private void button5_Click(object sender, EventArgs e)
        {
            btnpanv(button5);
        }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
C#panel控件问题
C#中容器控件GroupBox、Panel、TabControl的应用
C# Linq
控件命名规则_HorseWhite
一个窗体作为另一个窗体的容器
JScrollPane中添加JPanel不出现滚动条
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服