在VB中使弹出菜单消失

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:41:48
在VB中弹出菜单是popupmenu 菜单名,请问怎样使它消失?不要点击某菜单或空白处,要用代码实现。好象Windows的条形菜单一样,你移动光标到“文件”,会弹出文件的下级菜单,你移动光标到“编辑”,会弹出编辑的下级菜单,这时,“文件”下级菜单就会自动消失。注意我不建立条形菜单,因为条形菜单的位置不能随便改动。我的意思是用标签做一个假的条形菜单,此标签可放在窗体中央位置,用它来模拟条形菜单。真正的条形菜单我放不到指定位置。比如窗体下部。
请高手回答。满意可加分。

这个我做过,就是自己做菜单
1,把原菜单删了
2,用LABLE(或用按钮也行)画出上级菜单
3,光标进入LABLE时弹出下级菜单,可以把下级菜单画在PANEL上,PANEL设为不可见
4,在上级菜单的LABLE上写MOUSEENTER事件,下级菜单PANEL.VISIBLE=TRUE
5.在其它的控件的MOUSEENTER事件中写下级菜单PANEL.VISIBLE=FALSE

在你想要关闭菜单的地方写PANEL.VISIBLE=FALSE就可以关闭下级菜单了

下级菜单可以用BUTTON或LABLE,画在PANEL上,位置可以任意放.
另MenuStrip菜单本身就可以放在任意位置,只要把Dock属性设成'None'就可以任意拖放菜单了

没看明白什么意思
不知道你是不是说你做托盘图标的右键菜单
如果是的话这个有办法消失,托盘图标右键菜单如果不点击程序窗体或者任务栏的话他是不会消失的,可以用一个api解决掉,如果是的话给我发个消息

参考这个例子,相信对你有帮助

你这个效果是想和windows菜单模拟的一模一样啊? 看来不可能了! 因为popupmenu方法弹出的菜单必须要得到相应才会消失