vb.net 关于左键点击弹出菜单的问题

Ife.Button=1048576ThenMe.ContextMenuStrip1.Show(e.X,e.Y)EndIf用这个代码已经实现了左键点击弹出菜单了,但是为什... If e.Button = 1048576 Then
Me.ContextMenuStrip1.Show(e.X, e.Y)
End If
用这个代码已经实现了左键点击弹出菜单了,但是为什么每次弹出的菜单都不在一个位置啊,而且离鼠标的距离都不一样,这是为什么啊,请高手来帮忙啊,看下啊,很急
展开
 我来答
好巧焙0
2011-01-10 · TA获得超过123个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:125万
展开全部
控件.ContextMenuStrip=ContextMenuStrip1;
c#是这么写的,弹出菜单相对鼠标是一个位置.
vb应该也一样.
你目前的办法是自己控制弹出菜单显示的位置,但是你的坐标没有控制好,注意世界坐标和控件坐标的区别,做个相应的转换,还是可以实现的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
荔菲彭泽07
2011-01-10 · TA获得超过725个赞
知道小有建树答主
回答量:505
采纳率:0%
帮助的人:694万
展开全部
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
If e.Button = Windows.Forms.MouseButtons.Left And e.Clicks = 1 Then
Me.ContextMenuStrip1.Show(Me, e.Location)
End If
End Sub
最后面还可以加一个参数,控制菜单相对于弹出点的位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TysonQ
2020-06-14
知道答主
回答量:1
采纳率:0%
帮助的人:611
展开全部
Private Sub PictureBox1_DoubleClick(sender As Object, e As EventArgs) Handles PictureBox1.DoubleClick
Me.ContextMenuStrip1.Show(PictureBox1, MyLocation)
End Sub
Private MyLocation As Point
Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
MyLocation.X = e.X
MyLocation.Y = e.Y
End Sub
我这里是在PictureBox1上双击,要调出菜单。道理应该是一样的。 就是定义一个字段“MyLocation”,在PictureBox1_MouseDown()事件中先获取这个坐标,然后,在双击事件中调用这个坐标。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beeisred
2011-01-11 · TA获得超过1371个赞
知道小有建树答主
回答量:837
采纳率:0%
帮助的人:614万
展开全部
If e.Button = 1048576 Then
Me.ContextMenuStrip1.Show(MousePosition)
End If
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式