找回密码
 立即注册

QQ登录

只需一步,快速开始

一路向东

注册会员

2

主题

87

帖子

171

积分

注册会员

积分
171

微信认证勋章

最新发帖
一路向东
注册会员   /  发表于:2021-1-11 20:04  /   查看:6532  /  回复:10
1金币
本帖最后由 Richard.Ma 于 2021-1-12 13:59 编辑

C1ContextMenu有一个弹出菜单的方法ShowContextMenu:
  1. Public Sub ShowContextMenu(control As System.Windows.Forms.Control, pt As System.Drawing.Point)
复制代码

但是该方法不能在NotifyIcon.MouseClick(sender As Object, e As MouseEventArgs)上使用,因为NotifyIcon不是Control类,而且鼠标事件参数中的X和Y永远返回0。有什么方法实现在NotifyIcon上弹出C1ContextMenu呢?



10 个回复

倒序浏览
一路向东
注册会员   /  发表于:2021-1-11 20:04:47
沙发
本帖最后由 一路向东 于 2021-1-12 12:17 编辑

1、使用API:GetCursorPos
Private Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos" (ByRef lpPoint As Point) As Integer

2、设置方法ShowContextMenu的control参数为Nothing,pt参数为API获取的lpPoint参数

具体代码如下:
Private Sub NotifyIcon_MouseClick(sender As Object, e As MouseEventArgs) Handles NotifyIcon.MouseClick
    If e.Button = MouseButtons.Right Then
        Dim Point As Point

        GetCursorPos(Point)
        C1ContextMenu.ShowContextMenu(Nothing, Point)
    End If
End Sub

评分

参与人数 1金币 +500 收起 理由
Richard.Ma + 500 赞一个!

查看全部评分

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-12 09:18:20
板凳
感谢分享技术经验
回复 使用道具 举报
一路向东
注册会员   /  发表于:2021-1-12 09:56:44
地板
Richard.Ma 发表于 2021-1-12 09:18
感谢分享技术经验

为何看不见我帖子的内容啊,只看见标题?
回复 使用道具 举报
一路向东
注册会员   /  发表于:2021-1-12 09:56:50
5#
Richard.Ma 发表于 2021-1-12 09:18
感谢分享技术经验

为何看不见我帖子的内容啊,只看见标题?
回复 使用道具 举报
一路向东
注册会员   /  发表于:2021-1-12 09:56:56
6#
Richard.Ma 发表于 2021-1-12 09:18
感谢分享技术经验

为何看不见我帖子的内容啊,只看见标题?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-12 10:33:45
7#
现在还是看不到吗,我看帖子并没有加任何的阅读权限
回复 使用道具 举报
一路向东
注册会员   /  发表于:2021-1-12 11:07:18
8#
Richard.Ma 发表于 2021-1-12 10:33
现在还是看不到吗,我看帖子并没有加任何的阅读权限

我自己看到的是这样的,帖子的内容是空的,昨天我看到空的还特意又编辑了一次,结果还是空的。
还有上面提交回复没反应,点了几次结果发重复了。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-1-12 12:08:35
9#
这个和我看到的也是一个结果,应该是你那边编辑后没有保存,可以再尝试编辑一下
回复 使用道具 举报
一路向东
注册会员   /  发表于:2021-1-12 12:22:15
10#
Richard.Ma 发表于 2021-1-12 12:08
这个和我看到的也是一个结果,应该是你那边编辑后没有保存,可以再尝试编辑一下

呵呵我没有这么小白,再说我如果没有保存,帖子是不会显示“本贴最后由 XXXX 于 **** 编辑”。二楼我也编辑了,也没有。
下面是问题,你帮我修改试试:
C1ContextMenu有一个弹出菜单的方法ShowContextMenu:
  1. Public Sub ShowContextMenu(control As System.Windows.Forms.Control, pt As System.Drawing.Point)
复制代码

但是该方法不能在NotifyIcon.MouseClick(sender As Object, e As MouseEventArgs)上使用,因为NotifyIcon不是Control类,而且鼠标事件参数中的X和Y永远返回0。有什么方法实现在NotifyIcon上弹出C1ContextMenu呢?


回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部