找回密码
 立即注册

QQ登录

只需一步,快速开始

spread新人

注册会员

3

主题

6

帖子

67

积分

注册会员

积分
67
最新发帖
spread新人
注册会员   /  发表于:2019-3-8 14:23  /   查看:3180  /  回复:3
您好,当点击键盘tab键来移动焦点的时候,当焦点从winform控件移入spreadsheet的时候,再点击tab的时候,焦点会在sheet内部移动,设置tabstop能在一定程度能解决这个问题,但是当焦点已经在sheet内的时候,再点击tab,焦点无法移出sheet, 客户对tab键应用的要求还比较高,麻烦请问,这个有什么好办法?

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-8 15:02:35
沙发
本帖最后由 dexteryao 于 2019-3-8 15:04 编辑

spread控制了tab的行为如果不需要可以移除掉spread的控制

FpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused).Put(new FarPoint.Win.Spread.Keystroke(System.Windows.Forms.Keys.Tab, System.Windows.Forms.Keys.None), FarPoint.Win.Spread.SpreadActions.None)

或者在最后一个单元格跳出spread

  1. private void fpSpread1_KeyUp(object sender, KeyEventArgs e)
  2. {
  3. if(e.KeyData==Keys.Tab)
  4. {
  5. if(fpSpread1.ActiveSheet.ActiveRowIndex==fpSpread1.ActiveSheet.RowCount-1 && fpSpread1.ActiveSheet.ActiveColumnIndex == fpSpread1.ActiveSheet.ColumnCount - 1)
  6. {
  7. Control p;
  8. p = ((FarPoint.Win.Spread.FpSpread)sender).Parent;
  9. p.SelectNextControl(ActiveControl, true, true, true, true);
  10. }

  11. }
  12. }
复制代码


回复 使用道具 举报
spread新人
注册会员   /  发表于:2019-3-8 15:03:51
板凳
非常感谢大神回复
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-3-8 15:17:32
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部