vb 关于toolbar工具栏控件问题,附带图片

刚学这个控件,做了个下拉的菜单,如图所示:
第一张图

第二张图

我的问题是:怎么做一个事件,当点击图片上的1、2、3、4、5、6、7、8菜单时,各自执行各自的代码,不知道怎么写,求教.....
应该是select case语句,可是不知道用哪个事件.....求解???

第1个回答  2013-03-06
Private Sub Toolbar1_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu)

Select Case ButtonMenu
Case "1"
Debug.Print 333
Case "2"
Debug.Print 222
Case "3"
Debug.Print 111

End Select

End Sub追问

select case buttonmenu ←此命令无效,应该是select case buttonmenu.index 这样才对吧,
这种我早就知道了,可惜,对每个按钮中的菜单项的index值都有效,比如上图程序,按“1”会输出333,按“5”也会输出333,这样不符合我的要求,我要唯一的索引命令

追答

可以用这个

ButtonMenu.Text

其实默认ButtonMenu就是ButtonMenu.Text不知道你的为什么会出错。

可以自动生过程,然后复制哪个对象变量ButtonMenu。

追问

哦。还有默认值,我这没有。不过buttonmenu.text获取下拉菜单名字的方法确实可以,对了,那个key属性也可以实现吗

追答

可以,它是你在工具栏属性里设置的按钮菜单的关键字。

本回答被提问者采纳
第2个回答  2013-03-06
Select Case Button.key
Case "1"
…………
Case "2"
……
Case "3"
……
Case "4"
……
Case "5"
……
End Select
这样应该能达到你想要的效果追问

key指向的是toolbar控件的关键字值,用button.key命令只能获取到按钮的关键字,能的到下拉菜单的关键字吗

相似回答