欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中实现仿XP系统的任务栏菜单效果(附代码下载)

程序员文章站 2022-12-09 14:34:09
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建一个Form窗体,设计页面布局如下 折叠效果的向上和向下按钮是PictureBox,从上往下依次的Tag标签 ......

场景

效果

Winform中实现仿XP系统的任务栏菜单效果(附代码下载)

 

 

注:

博客主页:

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

实现

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

Winform中实现仿XP系统的任务栏菜单效果(附代码下载)

 

 

折叠效果的向上和向下按钮是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