找回密码
 立即注册

QQ登录

只需一步,快速开始

kingkl88
初级会员   /  发表于:2017-9-13 08:21:22
11#
dexteryao 发表于 2017-9-12 18:36
前切也会触发 ClipboardPasted ,您可以定义个方法,不同的事件都去调用这个方法。

为什么我剪切不触发 这个事件那? 定义的话 也是黏贴过后 触发啊!
回复 使用道具 举报
kingkl88
初级会员   /  发表于:2017-9-13 08:50:13
12#
本帖最后由 kingkl88 于 2017-9-13 08:52 编辑
dexteryao 发表于 2017-9-12 18:36
前切也会触发 ClipboardPasted ,您可以定义个方法,不同的事件都去调用这个方法。

我想要的效果是 黏贴了  小写转化为大写 !  而且可以范围的黏贴

及时用了这个 事件 , 怎么取到这个范围那?
回复 使用道具 举报
kingkl88
初级会员   /  发表于:2017-9-13 08:57:08
13#
dexteryao 发表于 2017-9-12 18:36
前切也会触发 ClipboardPasted ,您可以定义个方法,不同的事件都去调用这个方法。

第一 剪切不触发这个事件  我这里,
第2 我想要的效果 是黏贴进去就小写改成大写 , 而且可以一次范围的黏贴 。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-13 09:41:13
14#
您好,我这里测试剪切是会触发事件的

  1.         private void FpSpread1_ClipboardPasted(object sender, FarPoint.Win.Spread.ClipboardPastedEventArgs e)
  2.         {
  3.             var range = e.CellRange;

  4.             for(var i = 0; i < range.RowCount; i++)
  5.             {
  6.                 for (var j = 0; j < range.ColumnCount; j++)
  7.                 {
  8.                     fpSpread1.ActiveSheet.Cells[range.Row + i, range.Column + j].Text = fpSpread1.ActiveSheet.Cells[range.Row + i, range.Column + j].Text.ToLower();
  9.                 }
  10.             }
  11.         }
复制代码
回复 使用道具 举报
kingkl88
初级会员   /  发表于:2017-9-13 12:58:19
15#
dexteryao 发表于 2017-9-13 09:41
您好,我这里测试剪切是会触发事件的

但是我   CTRL +   X 就是不触发 怎么办啊  急死了  !  8.0  版本 啊  
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-13 14:01:59
16#
CTRL +   X  的时候不会触发,当你CTRL +   V的时候才触发, CTRL +   X 不需要触发事件做处理
回复 使用道具 举报
kingkl88
初级会员   /  发表于:2017-9-14 14:31:12
17#
dexteryao 发表于 2017-9-13 14:01
CTRL +   X  的时候不会触发,当你CTRL +   V的时候才触发, CTRL +   X 不需要触发事件做处理

现在以前3.0 剪切也触发 , 如果我想捕获这个剪贴动作 怎么做那
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-15 10:59:34
18#
可以参考下面代码自己处理ctrl x事件。或者在剪切复制会触发 ClipboardChanged


  1.             FarPoint.Win.Spread.InputMap im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
  2.             FarPoint.Win.Spread.ActionMap am = fpSpread1.GetActionMap();
  3.             im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F, Keys.Control), "ShowSearchDialog");
  4.             am.Put("ShowSearchDialog", new ShowSearchDialog());
复制代码


  1.     public class ShowSearchDialog : FarPoint.Win.Spread.Action
  2.     {
  3.         public override void PerformAction(object source)
  4.         {
  5.             if (source is SpreadView)
  6.             {
  7.                 SpreadView spread = (SpreadView)source;

  8.                 var action = spread.GetActionMap().Get(FarPoint.Win.Spread.SpreadActions.ClipboardCutAsStringSkipHidden);
  9.                 action.PerformAction(source);
  10.             }
  11.         }
  12.     }
复制代码
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部