找回密码
 立即注册

QQ登录

只需一步,快速开始

ilbjyaya

高级会员

12

主题

27

帖子

1143

积分

高级会员

积分
1143

活字格认证

ilbjyaya
高级会员   /  发表于:2014-6-3 13:20  /   查看:5273  /  回复:3
当在Spread中的单元格上按下回车键时,捕捉不到事件
protected override bool ProcessCmdKey(ref  Message msg,  Keys keyData)

怎样让设置才能让程序捕捉到这个事件?

我试了更改spread的操作模式,在正常模式和行模式下(点击回车键焦点就进入到单元格内)不能捕捉。
其他模式下可以。但是其他模式下不能编辑单元格。

如果不能的话,怎样限制只能双击单元格进入编辑模式,按下回车键不进入编辑模式?

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-6-3 13:57:00
沙发
回复 1楼ilbjyaya的帖子

你好,
如果指的是捕捉 enter 进入编辑模式,那么可以通过 Spread KeyDown 事件捕获:

  1.         private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
  2.         {
  3.             Debug.WriteLine("test");
  4.         }
复制代码


更改快捷键行为方法如下:

  1.             InputMap map = this.fpSpread1.GetInputMap(InputMapMode.WhenFocused);

  2.             map.Put(new Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
复制代码
回复 使用道具 举报
ilbjyaya
高级会员   /  发表于:2014-6-3 14:16:00
板凳
更改快捷键行为方法如下:
            InputMap map = this.fpSpread1.GetInputMap(InputMapMode.WhenFocused);

            map.Put(new Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
复制代码

用这段代码修改了快捷键之后就能在
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
中捕捉到回车事件了。


谢谢!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-3 14:46:00
地板
回复 3楼ilbjyaya的帖子

好的,感谢你的反馈。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部