找回密码
 立即注册

QQ登录

只需一步,快速开始

szld

论坛元老

38

主题

94

帖子

2万

积分

论坛元老

积分
29978

活字格认证

szld
论坛元老   /  发表于:2013-8-8 15:04  /   查看:8148  /  回复:6
版主,我现在遇到一个奇怪的现象:在spread里fpSpread1_KeyUp事件中做了ctrl+v的监听,快速按ctrl+v(粘贴)的时候无法监听,慢按ctrl+v(粘贴)的时候可以监听,附件是demo,先从左边拖一个到spread中,再在spread中进行ctrl+C(复制)ctrl+V(粘贴),快速粘贴的时候合计数是不会变的,慢速粘贴的时候合计数是会变化的

WindowsFormsApplication1.rar

43.07 KB, 下载次数: 907

demo

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-8-8 15:13:00
沙发
回复 1楼szld的帖子

szld 你好,

使用 Demo 我无法从 左边 的 flexgrid 中拖拽节点到右侧 Spread 中。请确认 Demo 是否正确。
回复 使用道具 举报
szld
论坛元老   /  发表于:2013-8-8 15:44:00
板凳
要选中节点的边框才能拖过去,不拖节点直接在Spread 里随便输入一串数字,然后进行复制也会重新问题点

無題.JPG

53.97 KB, 下载次数: 811

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-8 17:46:00
地板
回复 3楼szld的帖子

szld 你好,

因为没有捕获单元格的文本改变事件,所以,不改变。
可以通过以下事件获取:

  1.         private void fpSpread1_Change(object sender, ChangeEventArgs e)
  2.         {

  3.         }
复制代码
回复 使用道具 举报
szld
论坛元老   /  发表于:2013-8-8 18:20:00
5#
两点疑问:1、我在spread里复制粘贴的是合并单元格后的区域,在粘贴的时候根本不触发fpSpread1_Change事件
2、粘贴的时候触发了fpSpread1_KeyUp事件,下面的代码为什么粘贴(ctrl+V)的动作慢的时候判断为TRUE,粘贴(ctrl+V)的动作快了后判断为False,在Spread里相同的代码,(ctrl+V)操作的快慢会出现不同的结果,这很不可思议
if ((e.Control) && e.KeyCode == Keys.V)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-9 16:41:00
6#
回复 5楼szld的帖子

当有 Spread  合并单元格是可以使用 fpSpread1_ClipboardPasted 事件来接收。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-8-9 16:47:00
7#
回复 5楼szld的帖子

关于第二个问题重现你描述的情况了,不过测试过 微软标准 textbox。也是同样的情况。

可以通过 PreviewKeyDown 事件来捕捉键盘操作:
  1. private void fpSpread1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
  2.         {
  3.             if (e.Control&&e.KeyCode== Keys.V)
  4.             {
  5.             }
  6.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部