弹出式菜单可以在许多情形中使用。 它们可以自动显示最终用户操作的结果,或由您实现特定逻辑并且人工显示弹出式菜单。 请参阅下面的内容来学习更多内容。
为控件自动显示
可以把一个弹出式菜单与控件相关联,当最终用户使用鼠标右键单击此控件时自动显示此菜单。 要把菜单指派到控件上,则使用控件的外部 PopupContextMenu 属性。 在设计时刻把 BarManager 组件放置到窗体中时, PopupContextMenu 属性被添加到窗体中的所有控件上。
把弹出式菜单添加到窗体。 然后选中一个控件,并切换到“属性”窗口。 查找到外部 PopupContextMenu 属性,并把弹出式菜单指派到此属性。
在运行时刻使用鼠标右键单击控件边界内部时,所指派的菜单将被显示。
注意,这个外部的 PopupContextMenu 属性仅在设计时刻可用。 要在代码中把菜单与控件相关联,可以使用 BarManager.SetPopupContextMenu 方法。 调用 BarManager.GetPopupContextMenu 方法可以获取控件的弹出式菜单。
人工显示
要激活弹出式菜单,通常要接管特定的事件。 例如,如果需要在最终用户使用鼠标右键单击文本框时打开弹出式菜单,可能要接管控件的
MouseUp 事件。 要打开一个菜单,则调用
PopupMenu.ShowPopup 方法。
示例
如果鼠标右键被按下,下列代码将显示特定的 PopupMenu。
C# | 复制代码 |
---|
private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) {
if(e.Button == MouseButtons.Right)
popupMenu1.ShowPopup(Control.MousePosition);
}
|
Visual Basic | 复制代码 |
---|
Private Sub Form1_MouseUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
If e.Button = MouseButtons.Right Then
PopupMenu1.ShowPopup(Control.MousePosition)
End If
End Sub
|
为 Bar 按钮项自动显示