找回密码
 立即注册

QQ登录

只需一步,快速开始

miyaminn

论坛元老

48

主题

121

帖子

2万

积分

论坛元老

积分
22182

活字格认证

miyaminn
论坛元老   /  发表于:2014-6-26 21:06  /   查看:5429  /  回复:3
Spread可以多行选中,但是不希望按ctrl键也可以多行选中。
请问怎么设置。

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-6-27 10:49:00
沙发
回复 1楼miyaminn的帖子

miyaminn 你好,
需要通过 PreviewKeyDown 事件来捕获 Control 点击事件来实现,测试代码如下:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.fpSpread1_Sheet1.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange;
  4.             this.fpSpread1_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;

  5.             this.fpSpread1.CellClick += fpSpread1_CellClick;
  6.             this.fpSpread1.PreviewKeyDown += fpSpread1_PreviewKeyDown;
  7.         }

  8.         bool isControlKey = false;
  9.         void fpSpread1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
  10.         {
  11.             if (e.Control)
  12.             {
  13.                 isControlKey = true;
  14.             }
  15.             else
  16.             {
  17.                 isControlKey = false;
  18.             }
  19.         }
  20.         void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  21.         {
  22.             if (e.RowHeader&&isControlKey)
  23.             {
  24.                 e.Cancel = true;
  25.             }
  26.         }
复制代码


需要考虑的是,其他和 Control 键组合的快捷键也会被屏蔽。
回复 使用道具 举报
miyaminn
论坛元老   /  发表于:2014-7-8 11:29:00
板凳
谢谢,已经解决!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-7-8 12:16:00
地板
回复 3楼miyaminn的帖子

好的,感谢反馈问题结果。请你对我的服务进行评分,谢谢

评分

参与人数 1满意度 +5 收起 理由
miyaminn + 5 谢谢你,终于有时间评分了。

查看全部评分

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