找回密码
 立即注册

QQ登录

只需一步,快速开始

czpi

高级会员

24

主题

44

帖子

1876

积分

高级会员

积分
1876

活字格认证

czpi
高级会员   /  发表于:2014-9-9 16:18  /   查看:5498  /  回复:3
在3.0 Spread按tab 按到最后一个单元格后会失去焦点 下一个控件会得到焦点。
7。0 按什么都不能失去焦点。即使写上XXXX.fous()也不行。
有好办法达到效果么??

3 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-9-9 17:44:00
沙发
回复 1楼czpi的帖子

请通过以下代码屏蔽 Spread Tab 键行为:

  1.             FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();

  2.             im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
  3.             im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Tab, Keys.None), FarPoint.Win.Spread.SpreadActions.None);

  4.             im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
  5.             im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Tab, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
复制代码
回复 使用道具 举报
czpi
高级会员   /  发表于:2014-9-9 18:28:00
板凳
我是想让spread失去焦点不是想屏蔽tab
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-9-10 16:08:00
地板
回复 3楼czpi的帖子

请使用以下代码测试:

  1.         public Form1()
  2.         {
  3.             InitializeComponent();

  4.             this.fpSpread1.PreviewKeyDown += fpSpread1_PreviewKeyDown;
  5.             this.fpSpread1.ActiveSheet.RowCount = 2;
  6.             this.fpSpread1.ActiveSheet.ColumnCount = 2;
  7.         }

  8.         void fpSpread1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
  9.         {
  10.             if (e.KeyCode == Keys.Tab)
  11.             {
  12.                 this.textBox1.Focus();
  13.             }
  14.         }
复制代码


效果图:

Demo1.gif

评分

参与人数 1满意度 +5 收起 理由
czpi + 5 5

查看全部评分

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