场景

效果

 

 

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建一个form窗体,设计页面布局如下

 

 

折叠效果的向上和向下按钮是picturebox,从上往下依次的tag标签为1,2,3

三个picturebox都绑定同一个点击事件,在点击事件中根据传递的tag标签的值在switch-case中进行处理。

在switch-case中分别将对应的一组picturebox和panel对象赋值给上面声明的静态的两个控件对象。

下面要隐藏的panel对象的tag属性默认为0,在上面switch-case中获取一组对应的控件对象后进行判断,

如果tag为0或者2则是将panel隐藏,同时将tag标签设置为1,表示隐藏。

如果是1,则表示已经处于隐藏状态,则会将其显示并将tag设置为2。

关键代码

 

private static panel var_panel = new panel();
        private static picturebox var_pict = new picturebox();
        private static int var_i = 0;
        private font var_font = new font("宋体", 9);

        private void picturebox_1_click(object sender, eventargs e)
        {
            var_i = convert.toint16(((picturebox)sender).tag.tostring());
            switch (var_i)
            {
                case 1:
                    {
                        var_panel = panel_gut_1;
                        var_pict = picturebox_1;
                        break;
                    }
                case 2:
                    {
                        var_panel = panel_gut_2;
                        var_pict = picturebox_2;
                        break;
                    }
                case 3:
                    {
                        var_panel = panel_gut_3;
                        var_pict = picturebox_3;
                        break;
                    }

            }
            if (convert.toint16(var_panel.tag.tostring()) == 0 || convert.toint16(var_panel.tag.tostring()) == 2)
            {
                var_panel.tag = 1;//隐藏标识
                var_pict.image = null;
                var_pict.image = properties.resources.朝下按钮;
                var_panel.visible = false;
            }
            else
            {
                if (convert.toint16(var_panel.tag.tostring()) == 1)
                {
                    var_panel.tag = 2;//显示标识
                    var_pict.image = null;
                    var_pict.image = properties.resources.朝上按钮;
                    var_panel.visible = true;
                }
            }
        }

        private void form1_load(object sender, eventargs e)
        {
            picturebox_1.image = null;
            picturebox_1.image = properties.resources.朝上按钮;
            picturebox_2.image = null;
            picturebox_2.image = properties.resources.朝上按钮;
            picturebox_3.image = null;
            picturebox_3.image = properties.resources.朝上按钮;
            var_font = label_1.font;
        }

        private void label_1_mouseenter(object sender, eventargs e)
        {
            ((label)sender).forecolor = color.gray;
            ((label)sender).font = new font(var_font, var_font.style | fontstyle.underline);
        }

        private void label_1_mouseleave(object sender, eventargs e)
        {
            ((label)sender).forecolor = color.black;
            ((label)sender).font = new font(var_font, var_font.style);
        }

 

代码下载

https://download.csdn.net/download/badao_liumang_qizhi/12025648