找回密码
 立即注册

QQ登录

只需一步,快速开始

15942617904

注册会员

15

主题

46

帖子

131

积分

注册会员

积分
131
15942617904
注册会员   /  发表于:2020-10-24 09:39  /   查看:4140  /  回复:7
5金币
本帖最后由 15942617904 于 2020-10-24 09:42 编辑

项目需要右键spread出一个快捷菜单,我是按照葡萄城给的下面的代码实装的
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim custommenu As New ContextMenu
    custommenu.MenuItems.Add("&Table")
    custommenu.MenuItems.Add("&Color", New EventHandler(AddressOf ContextMenu_Color))
    FpSpread1.ContextMenu = custommenu
End Sub

Private Sub ContextMenu_Color(ByVal sender AsObject, ByVal e As System.EventArgs)
    MsgBox("You chose color.")
End Sub
请问怎么在菜单中添加快捷键,例如,右键后菜单出来了,不用鼠标点击Color而是按C键同样去执行点击Color的处理

7 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-25 19:20:32
沙发
问题已经收到,我明天验证后给您回复
回复 使用道具 举报
15942617904
注册会员   /  发表于:2020-10-28 14:24:29
板凳
Richard.Ma 发表于 2020-10-25 19:20
问题已经收到,我明天验证后给您回复

好的,有结果了回我就好,谢谢了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-28 15:17:10
地板
ContextMenu可以设置Shortcut,设置以后直接按快捷键即可触发事件。不需要右键点出菜单后再按快捷键(这样也不起作用)

比如设置背景颜色,按Ctrl+D即可设置
Load事件中添加代码
  1.             ContextMenu menu=new ContextMenu();
  2.             menu.MenuItems.Add(new MenuItem("保存", Test_Click, Shortcut.CtrlD));
  3.             fpSpread1.ContextMenu = menu;
复制代码


Test_Click代码
  1.         private void Test_Click(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.ActiveSheet.ActiveCell.BackColor = Color.Red;
  4.         }
复制代码

回复 使用道具 举报
15942617904
注册会员   /  发表于:2020-10-29 09:25:57
5#
Richard.Ma 发表于 2020-10-28 15:17
ContextMenu可以设置Shortcut,设置以后直接按快捷键即可触发事件。不需要右键点出菜单后再按快捷键(这样也 ...

客户要求要做成类似Excel那种的,就要右键出快捷菜单然后,再按一个字母键进行快捷操作
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-29 11:00:31
6#
抱歉,ContextMenu目前没有办法支持你说的这种方式,如果确实要做的话,可能只能是把ContextMenu禁用,然后通过右键点击事件打开一个自己写的界面来实现,这样需要解决的问题可能比较多
回复 使用道具 举报
15942617904
注册会员   /  发表于:2020-11-3 15:09:16
7#
Richard.Ma 发表于 2020-10-29 11:00
抱歉,ContextMenu目前没有办法支持你说的这种方式,如果确实要做的话,可能只能是把ContextMenu禁用,然后 ...

问题已经解决了,
custommenu.MenuItems.Add("Color(&C)", New EventHandler(AddressOf ContextMenu_Color))
改成这样就可以了,谢谢了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-3 16:32:28
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部