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

注:
博客主页:
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系统的任务栏菜单效果(附代码下载)的更多相关文章
- 仿XP系统的任务栏菜单
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- Winform中实现拖拽文件到ListView获取文件类型(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个for ...
- Winform中实现自定义屏保效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建form ...
- Winform中使用Timer实现滚动字幕效果(附代码下载)
场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个Fo ...
- Winform中实现将照片剪贴到系统剪切板中(附代码下载)
场景 效果 点击剪切按钮 点击粘贴按钮 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免 ...
- JPA中实现双向多对多的关联关系(附代码下载)
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- Winform中实现批量文件复制(附代码下载)
场景 效果 将要批量复制的文件拖拽到窗体中,然后点击下边选择目标文件夹,然后点击复制按钮. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公 ...
- Winform中实现向窗体中拖放照片并显示以及拖放文件夹显示树形结构(附代码下载)
场景 向窗体中拖拽照片并显示效果 向窗体中拖拽文件夹并显示树形结构效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...
- Android中四种补间动画的使用示例(附代码下载)
场景 Android中四种补间动画. 透明度渐变动画 旋转动画 缩放动画 平移动画 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程 ...
随机推荐
- Spring Boot2 系列教程(二十七)Nginx 极简扫盲入门
上篇文章和大家聊了 Spring Session 实现 Session 共享的问题,有的小伙伴看了后表示对 Nginx 还是很懵,因此有了这篇文章,算是一个 Nginx 扫盲入门吧! 基本介绍 Ngi ...
- mysqldump工具实现mysql数据库的备份还原
简介 冷.温.热备份 冷备:读写操作均不可进行 温备:读操作可执行:但写操作不可执行 热备:读写操作均可执行 MyISAM:温备,不支持热备 InnoDB:都支持 不管是热备还原还是冷备还原,还原时都 ...
- yum运行报错:libcurl.so.4: cannot open shared object file: No such file or directory
/usr/lib64/目录下存在libcurl.so.4文件 CURL的动态库找不到,这里我们加入到ld.so.conf [root@localhost bin]# vim /etc/ld.so.c ...
- Flink中的CEP复杂事件处理 (源码分析)
其实CEP复杂事件处理,简单来说你可以用通过类似正则表达式的方式去表示你的逻辑,表现能力非常的强,用过的人都知道 开篇先偷一张图,整体了解Flink中的CEP中的 一种重要的图 NFA非确定有限状 ...
- Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
7月6日任务 19.1 Linux监控平台介绍19.2 zabbix监控介绍19.3/19.4/19.5 安装zabbix19.6 忘记Admin密码如何做 19.1 Linux监控平台介绍 一般大公 ...
- Clearcase Key commands check in code on linux
Supposed you are implemented done with all your codes(c is the alias for cleartool): New version add ...
- block中self会造成循环引用问题
将代码块中的 self换成unsafeSelf __unsafe_unretained 与 __weak 99%相同 __weak 当对象释放之后 会自动设置为nil 而__unsafe_unreta ...
- 一文看尽Java-并发编程知识点
一.前言 从7月份开始一直加班比较多,一直到双11结束,博客没跟上写,接下来写一点总结性的东西,比如Java并发编程总结.Mybatis源码总结.Spring源码和基础知识总结,首先来看下并发 ...
- 品HashMap(java8)
前言 作为java开发人员,HashMap可谓是业务中的一把利器,9龙再次捡起这老生常谈的知识点,深入源码,细细品味. 首先,我们抛出几个关于HashMap的问题,带着问题去学习,就像捉迷藏一样有意思 ...
- Delphi - 调用SuperDll 持续更新
调用SuperDll 接上一篇Delphi创建Superdll,将生成的SuperDll.dll文件复制到本工程路径下,创建如下代码进行Superdll各个接口的测试. 创建uSuperDll.pas ...