使用快捷菜单
给控件指定快捷菜单
如果希望右击某个控件,能弹出一个快捷菜单,可以先设计一个快捷菜单,将其指定给此控件。
例如要给控件TextBox1指定快捷菜单,可以在窗口的AfterLoad事件加上代码:
e.Form.Controls("TextBox1").ContextStrip = e.Form.Strips("快捷菜单1")
在指定位置显示快捷菜单
所有控件都有一个ShowContextStrip方法,用于在该控件的指定位置显示指定的快捷菜单,语法为:
ShowContextStrip(x,y,Strip)
x: 水平位置,控件左上角为原点。
y: 垂直位置,控件左上角为原点。
Strip: 要显示的快捷菜单。
例如窗口中有一个按钮,希望单击这个按钮,能出现一个快捷菜单:
可以将该按钮的Click事件代码设置为:
With
e.Sender
.ShowContextStrip(0, .Height, e.Form.Strips("快捷菜单1"))
End
With
模拟SplitButton
假定希望做一个下图所示的按钮,单击按钮左侧直接增加一行,单击按钮右侧则显示一个菜单,用于选择是增加一行还是增加多行:
为实现这样的功能,我们可以设计两个并排的按钮,左侧按钮用于增加行,右侧按钮用于弹出下来菜单,由于两个按钮紧挨在一起,实际使用的时候看起来就像是一个按钮的两个分区。
给Table指定快捷菜单
假定窗口中有一个名为Table1的Table控件,希望在窗口中重新设计一个快捷菜单,代替系统默认的快捷菜单。
首先我们要取消系统默认的快捷菜单,在对应的表事件BeforeShowContextMenu加上代码:
e.Cancel = True
然后在窗口的AfterLoad事件中加上代码:
e.Form.Controls("Table1").ContextStrip = e.Form.Strips("快捷菜单1")