vb.net侧边栏图形菜单
来源:互联网 发布:英国厨师知乎 编辑:程序博客网 时间:2024/05/20 14:17
VB6时代,做侧边栏菜单非常困难,一般都要用到第三方控件,但是在VB.net中,做侧边栏图形菜单非常方便,先看效果:
这是菜单选中效果:
这些菜单都是用Label控件做的,容器是用的Panel控件,用的代码很少,具体做法:
1、拖放一个panel控件在窗体左边,设置BackgroundImage属性,加入一张漂亮的背景图,设置BackgroundImageLayout属性,有平铺、居中、缩放,自己选一个合适的。BorderStyle属性设为None,Dock属性为Left,自动绑定到窗体左边。
2、放置Label控件在Panel之上,拉到合适大小(拉不动就把AutoSize设为False),与Panel左右边对齐,将背景色设置为透明,边框设置为None,FlatStyle设置为Popup,image属性加入图标文件,我用的是38*38的真彩图标,ImageAlign向左对齐,TextAlign设为中右对齐,Text文本后面带两个空格,例如”软件运行 “,这样做为了让菜单文本不至于靠在最边上。
3、加入代码:
Private lblMenu As Object = Nothing '鼠标移动的前一菜单项 Private MenuSelect As Object = Nothing '鼠标点击的前一菜单项 Private Sub Menu_Click(sender As System.Object, e As System.EventArgs) Handles _ Label1.Click, Label2.Click, Label3.Click, Label4.Click, Label5.Click, Label6.Click, Label7.Click If MenuSelect IsNot Nothing Then MenuSelect.forecolor = Color.White '前面选择的菜单项前景色变为白色 End If sender.forecolor = Color.Chartreuse '当前选择的菜单项前景色为亮绿色 MenuSelect = sender '保存当前选择菜单项 Select Case sender.name.ToString Case "Label1" MessageBox.Show("你点击了Label1") Case "Label2" MessageBox.Show("你点击了Label2") End Select End Sub Private Sub Menu_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles _ Label1.MouseDown, Label2.MouseDown, Label3.MouseDown, Label4.MouseDown, Label5.MouseDown, Label6.MouseDown, Label7.MouseDown sender.BorderStyle = BorderStyle.FixedSingle '鼠标按下菜单效果 End Sub Private Sub Menu_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles _ Label1.MouseUp, Label2.MouseUp, Label3.MouseUp, Label4.MouseUp, Label5.MouseUp, Label6.MouseUp, Label7.MouseUp sender.BorderStyle = BorderStyle.None '鼠标抬起取消菜单效果 End Sub Private Sub Menu_MouseEnter(sender As Object, e As System.EventArgs) Handles _ Label1.MouseEnter, Label2.MouseEnter, Label3.MouseEnter, Label4.MouseEnter, Label5.MouseEnter, Label6.MouseEnter, Label7.MouseEnter If lblMenu IsNot Nothing Then Call Menu_MouseLeave(lblMenu, e) '前一菜单项恢复初始状态 End If sender.backcolor = Color.DeepSkyBlue '鼠标进入菜单范围的效果:背景色变深蓝 lblMenu = sender '保存当前进入菜单项 End Sub Private Sub Menu_MouseLeave(sender As Object, e As System.EventArgs) Handles _ Label1.MouseLeave, Label2.MouseLeave, Label3.MouseLeave, Label4.MouseLeave, Label5.MouseLeave, Label6.MouseLeave, Label7.MouseLeave sender.backcolor = Color.Transparent '鼠标离开菜单项恢复默认效果,背景色透明 sender.BorderStyle = BorderStyle.None '菜单项边框取消 lblMenu = Nothing '删除保存的菜单项 End Sub
0 0
- vb.net侧边栏图形菜单
- VB图形菜单
- 侧边栏
- 侧边栏
- 侧边栏
- 侧边栏-css+js侧边栏运动
- C#中创建图形菜单
- 显示&隐藏侧边栏
- jquery侧边栏效果
- Android侧边栏
- iOS侧边栏实现
- Android_侧边导航栏
- android侧边栏
- css3仿天猫侧边栏
- js 侧边栏
- 联系人侧边栏控件
- DrawerLayout 实现侧边栏
- 侧边固定导航栏
- poj-3080-Blue Jeans-串-暴力
- TCP连接分组交换状态图显示
- 杭电acm 2162 Add ‘em
- UITextView实现placeholder的猥琐做法
- android 传感器(OnSensorChanged)使用介绍
- vb.net侧边栏图形菜单
- PHP curl 模拟登录并获取数据
- 2406 Power Strings【kmp】
- Cause: java.sql.SQLException: Bad format for Time '308:42:13' in column
- qt5打开对话框选择图片
- Java关键字static、final使用
- hdu_1166
- oc 排序并压缩字符串
- 第六篇:C++语言源程序中每一行加一个反斜杠的意思