找回密码
 立即注册

QQ登录

只需一步,快速开始

Hjr2350
论坛元老   /  发表于:2013-3-22 14:21  /   查看:6067  /  回复:6
spread.net版,现在我使用ExtendedSelect模式进行选择

按住鼠标拖动,会选择连续单元格,这个功能关闭;
只保留当按住Shift时进行连续选择,不知可以实现吗?
求教....

6 个回复

倒序浏览
Hjr2350
论坛元老   /  发表于:2013-3-25 10:24:00
沙发
不知可以吗?求教中~~
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-3-25 16:21:00
板凳
在 SelectionChanging 中判断当前的鼠标行为,大概实现思路如下:
  1.     public partial class Form1 : Form
  2.     {
  3.         public Form1()
  4.         {
  5.             InitializeComponent();
  6.         }

  7.         // 鼠标左键是否按下
  8.         bool Draging = false;

  9.         // 鼠标是否处于左键按下的移动过程中
  10.         bool Moving = false;

  11.         private void Form1_Load(object sender, EventArgs e)
  12.         {
  13.             fpSpread1.MouseDown += new MouseEventHandler(fpSpread1_MouseDown);
  14.             fpSpread1.MouseMove += new MouseEventHandler(fpSpread1_MouseMove);
  15.             fpSpread1.MouseUp += new MouseEventHandler(fpSpread1_MouseUp);

  16.             fpSpread1.SelectionChanging += new FarPoint.Win.Spread.SelectionChangingEventHandler(fpSpread1_SelectionChanging);
  17.         }

  18.         private void fpSpread1_MouseMove(object sender, MouseEventArgs e)
  19.         {
  20.             if (Draging)
  21.             {
  22.                 // 鼠标处于按下左键的移动过程中
  23.                 Moving = true;
  24.             }            
  25.         }

  26.         private void fpSpread1_SelectionChanging(object sender, FarPoint.Win.Spread.SelectionChangingEventArgs e)
  27.         {
  28.             if (Draging && Moving)
  29.             {
  30.                 // 取消鼠标移动所引起的选中区域变化
  31.                 e.Cancel = true;
  32.                 return;
  33.             }
  34.         }
  35.       
  36.         private void fpSpread1_MouseDown(object sender, MouseEventArgs e)
  37.         {
  38.             Draging = true;
  39.         }

  40.         private void fpSpread1_MouseUp(object sender, MouseEventArgs e)
  41.         {
  42.             Draging = false;
  43.             Moving = false;
  44.         }        
  45.     }
复制代码
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-3-25 16:34:00
地板
我先看看,这块不能通过开关量关闭吗?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-3-26 11:07:00
5#
回复 4楼Hjr2350的帖子

“这块不能通过开关量关闭吗? ”
Spread 本身没有提供该属性。
能否解释下这句话,没能理解您的意思。
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-3-26 16:00:00
6#
回复 5楼iceman的帖子

哦了,dof已经解决我这个问题了,我只是觉得如果这块有个属性设置更好一些,毕竟这种需求还是比较常用的
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-3-26 16:49:00
7#
回复 6楼Hjr2350的帖子

感谢反馈问题结果。
我会把您的建议添加到用户需求列表中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部