android实现爆炸式菜单按钮弹出效果_VB菜单详解

No.8 VB菜单详解​mp.weixin.qq.com
c1f5ac069c84688e79d240c5169043ac.png

什么是菜单

我们去吃饭,服务员会给你一份菜单,你点菜以后,厨师会按照你的选择做出相应的菜品。程序也是一样,简单的程序,也许就一个窗体,几个简单的控件就够用了,但是有的程序功能比较全面比较复杂,如果把这些功能都用按钮或者其他控件来实现的话,非常杂乱,不符合用户使用,菜单的功能就很重要了。

不信你看用按钮来实现程序的各种功能是这种情况:

efa6827505e5f074e3cfd91087e39218.gif

再看看用菜单的效果:

2564933e3653e6d3c1f43125467c6f39.gif

是不是干净整洁又方便?

如何添加菜单

新建一个工程,添加窗体,在窗体上右键,选择"菜单编辑器"

d31d9770ad794440dab4d0c76a67f320.gif

然后我们看常用选项的功能:

0538011ee55e32375b91dcc6cddc94b4.png

❶ 菜单显示的标题,很好理解,相当于按钮的"Caption"属性。

❷ 菜单的名称,这个和标题不能混淆,要实现菜单的功能,就需要写相应的代码,菜单只有一个单击事件,写在谁的单击事件里?就是这个菜单的名称里。如图,"新建工程"这个菜单的功能要写在XinJian_Click里面。

❸ 这个菜单的index,如果菜单名称重复了,就成了数组,必须有索引,才能区分每一个菜单。如果没有重复,索引可以不填。

❹ 复选,选中这个的时候,该菜单单击一次前面会有"√",再次单击去掉。用法和复选框控件类似。

❺ 上下左右光标,其实最常用的就是左右,它控制菜单的分级,也就是多层菜单,试一试就很容易明白,不过多解释。

❻ 好理解,设置菜单的快捷键,程序运行时,按下设定的快捷键就会执行单击该菜单的代码,相当于你点击了这个菜单。

❼ 如果取消勾选,这个菜单则消失不可见,但不是删除掉,它是存在的。

菜单名称.Visible =True

这样又可见了,很好理解,和控件的Visible属性是类似的。

❽ 常用,需要添加菜单时单击它,就会新增一项菜单。

❾ 当勾选时,该菜单正常,如果取消勾选,这个菜单则变成灰色。在程序运行中也可以用代码来控制例如:

菜单名称.Enabled = False

和控件的Enabled属性是类似的。

菜单中分隔符怎么办

很多程序的菜单有分隔符(如下图)

8823362ecd41614d2acbbefd94607449.png

这是怎么做到的呢?很简单,就是在需要放分隔符的地方加一个菜单,把菜单标题改为"-",加减乘除的减号,程序自动转换成分隔符。

cb98fa8983c633af91fe2e78354ccb01.png

运行程序看下效果:

cb98fa8983c633af91fe2e78354ccb01.png

右键菜单是怎么回事

右键弹出菜单也经常见到,它是怎么实现的呢?很简单,在需要弹出菜单的鼠标MouseDown事件中判断是否右键,如果是则PopupMenu菜单名称即可。比如我想在窗体上弹出,就在Form_MouseDown事件中写入下面的代码:

b98dc393f131e8ce87b72a00db417002.png

如果Button的值是2,就代表是鼠标右键,PopupMenu空格菜单名称即可,但是这个菜单不能有索引。也可以让弹出的菜单位置固定一个坐标,例如:

PopupMenu bianji, , 100, 300

这样菜单固定在窗体的(100,300)出弹出,如果省略,则鼠标在哪,就在哪弹出。

5b90827b36c9da52bf353d6a25fafe37.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值