场景

效果

注:

博客主页:
https://blog.csdn.net/badao_liumang_qizhi

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

实现

新建一个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 = ;
private Font Var_Font = new Font("宋体", ); private void pictureBox_1_Click(object sender, EventArgs e)
{
Var_i = Convert.ToInt16(((PictureBox)sender).Tag.ToString());
switch (Var_i)
{
case :
{
Var_Panel = panel_Gut_1;
Var_Pict = pictureBox_1;
break;
}
case :
{
Var_Panel = panel_Gut_2;
Var_Pict = pictureBox_2;
break;
}
case :
{
Var_Panel = panel_Gut_3;
Var_Pict = pictureBox_3;
break;
} }
if (Convert.ToInt16(Var_Panel.Tag.ToString()) == || Convert.ToInt16(Var_Panel.Tag.ToString()) == )
{
Var_Panel.Tag = ;//隐藏标识
Var_Pict.Image = null;
Var_Pict.Image = Properties.Resources.朝下按钮;
Var_Panel.Visible = false;
}
else
{
if (Convert.ToInt16(Var_Panel.Tag.ToString()) == )
{
Var_Panel.Tag = ;//显示标识
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

Winform中实现仿XP系统的任务栏菜单效果(附代码下载)的更多相关文章

  1. 仿XP系统的任务栏菜单

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  2. Winform中实现拖拽文件到ListView获取文件类型(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个for ...

  3. Winform中实现自定义屏保效果(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...

  4. Winform中使用Timer实现滚动字幕效果(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个Fo ...

  5. Winform中实现将照片剪贴到系统剪切板中(附代码下载)

    场景 效果 点击剪切按钮 点击粘贴按钮 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免 ...

  6. JPA中实现双向多对多的关联关系(附代码下载)

    场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...

  7. Winform中实现批量文件复制(附代码下载)

    场景 效果 将要批量复制的文件拖拽到窗体中,然后点击下边选择目标文件夹,然后点击复制按钮. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公 ...

  8. Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)

    场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...

  9. Android中四种补间动画的使用示例(附代码下载)

    场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...

随机推荐

  1. 2019-10-9:渗透测试,基础学习the-backdoor-factory-master(后门工厂)初接触

    该文章仅供学习,利用方法来自网络文章,仅供参考 the-backdoor-factory-master(后门工制造厂)原理:可执行二进制文件中有大量的00,这些00是不包含数据的,将这些数据替换成pa ...

  2. springboot+logback日志输出企业实践(下)

    目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...

  3. android 活动监听是否点击某个view

    前述(写给做过web前端的人) 在web H5,如果如果判断当前是否点击某个元素,一般会这样写. window.addEventListener("touchstart",func ...

  4. 使用python删除N天前的文件

    python版本为:2.7 import os import sys import time # Sets how many days old files are deleted DAYS_N = 7 ...

  5. oracle查询练习

    1成绩表score如下,查询出每门课都大于80分的学生姓名 准备数据 -建表- SQL> create table score(   2  name varchar(50),   3  kech ...

  6. 堆的python实现及其应用

    堆的概念 优先队列(priority queue)是一种特殊的队列,取出元素的顺序是按照元素的优先权(关键字)大小,而不是进入队列的顺序,堆就是一种优先队列的实现.堆一般是由数组实现的,逻辑上堆可以被 ...

  7. react修改端口

    react修改端口 在react官网根据文档安装好项目之后,发现新项目没有了scripst文件夹 之前版本是在scripts文件夹中的starts.js中修改 新版本修改port发现移入到了依赖里面 ...

  8. Echarts自定义折线图例,增加选中功能

    用Echarts图表开发,原本的Echarts图例不一定能满足我们的视觉要求. 下面是Echarts 折线图自定义图例,图例checked选中,相应的折线线条会随之checked,其余未选中的图例对应 ...

  9. Spring Boot中使用Jpa的findOne方法不能传入id

    最近通过慕课网学习spring boot,视频中通过jpa的findOne方法以id为参数查询出对应的信息, 而当我自己做测试的时候却发现我的findOne方法的参数没有Integer类型的id,而是 ...

  10. 文件上传之靶场upload-labs (1-10)

    第一关 sj 绕过 源码如下: lasIndexOf是返回函数最后一次出现的地方(从右到左) substring是用来截取函数的 indexOf是返回 表示从.出现的地方开始截取并判断是否在允许的字符 ...