vb2008 中大多控件的位置可以使用location 属性来控制,但是 ContextMenuStrip这个控件偏偏不支持这个属性
那么怎么办呢,可以用ContextMenuStrip.show()这个方法来实现,在其中加入具体位置即可(point),比如鼠标的位置。
以下是一个示例,只需要建立一个空白窗体即可,弹出菜单直接用代码完成了(也可以直接在可视化界面里直接拉一个,然后设置好)。
Private Sub Form1_MouseDown(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown '监听鼠标按下事件
If e.Button = Windows.Forms.MouseButtons.Right Then '是鼠标右键按下事件
Dim mnu As ContextMenuStrip = New Windows.Forms.ContextMenuStrip ’新建个ContextMenuStrip 控件
Dim submnu1 As ToolStripMenuItem = mnu.Items.Add("弹出菜单1")'添加子菜单1
Dim submnu2 As ToolStripMenuItem = mnu.Items.Add("弹出菜单2") '添加子菜单2
Dim mousePoint As Point = New System.Drawing.Point(e.Location) '获取鼠标位置信息
mnu.Show(mousePoint) ‘显示弹出菜单
End If
End Sub
效果如下图,是不是很简单,你也行的哦!