最开始的时候需要在GcSpreadSheet中按Tab在需要输入的cell中切换,在模板中定义Tab的切换规则;后来又有一个新的要求,因为在使用的时候会出现数据不平的情况,这个时候需要在标记中的不平数据中切换,如果仍然用Tab键操作的话,就需要禁用原有的在所有输入cell中切换,添加一个新的规则,然后在平完数据之后又需要更换Tab的规则,这时候就需要删除了在不平数据中切换规则,重新添加原规则。记录下来防止下次忘记了!

private KeyValuePair<KeyStroke, SpreadAction> loadTabKey =new KeyValuePair<KeyStroke,SpreadAction>();// 备份的Tab按钮

  删除模板中定义的Tab键规则

private void RemoveKeyTab()
{
  Dictionary<GrapeCity.Windows.SpreadSheet.UI.KeyStroke, GrapeCity.Windows.SpreadSheet.UI.SpreadAction> keyMap = gcSpreadSheet1.View.KeyMap;
  var tabKey = keyMap.First(k => k.Key.KeyCode == Key.Tab);// 从KeyMap中找到Tab键
  loadTabKey=tabKey;// 在删除之前先备份下
  keyMap.Remove(tabKey.Key);// 删除Tab键
}

  将删除的Key键规则添加进集合

 private void AddKeyTab()
{
  Dictionary<GrapeCity.Windows.SpreadSheet.UI.KeyStroke, GrapeCity.Windows.SpreadSheet.UI.SpreadAction> keyMap = gcSpreadSheet1.View.KeyMap;
  var tabKey = keyMap.First(k => k.Key.KeyCode == Key.Tab);// 从KeyMap中找到Tab键
  keyMap.Remove(tabKey.Key);// 删除Tab键
  keyMap.Add(loadTabKey.Key, loadTabKey.Value);// 重新添加Tab键,使用备份的Tab键功能
}

  重新注册Tab键,使用这个之后会导致按Tab之后从单元格一个一个切换,小心跟原来的Tab功能错乱(比如刚开始的时候在模板中定义按Tab只在需要输入的Cell中切换,这个时候如果使用这个重新注册的Tab就会在所有cell中切换,模板中定义的就不能用了)

private void AddNewKeyTab
{
keyMap.Add(new GrapeCity.Windows.SpreadSheet.UI.KeyStroke(Key.Tab, ModifierKeys.None), new GrapeCity.Windows.SpreadSheet.UI.SpreadAction(GrapeCity.Windows.SpreadSheet.UI.SpreadActions.NavigationNext));
}

  从一个cell跳转到另一个cell

int rowindex=,columnindex=;
gcSpreadSheet1.ActiveSheet.SetActiveCell(rowindex, columnindex);

GcSpreadSheet自定义Tab键选择的更多相关文章

  1. Win+Tab键实现自定义程序列表间的窗口切换

    程序是用AutoHotkey语言写的, 说明: 以自己使用频率的顺序在ExeList自定义的程序间切换 切换可以以所有窗口切换,也可以按程序组切换(比如在word窗口间切换) 程序组可以分别定义排除的 ...

  2. source insight 保存时删除多余空格,去除多余空格 space tab键

    source insight 保存时删除多余空格,去除多余空格 space tab键 摘自:https://blog.csdn.net/lanmanck/article/details/8638391 ...

  3. [Eclipse插件] Eclipse设置Tab键为空格(ctrl+shirt+f格式化生效)!

    自定义format格式,用空格替换Tab键,ctrl+shit+f格式化后生效: 设置Eclipse中按Tab键为4个空格,这里标记下! Window-->Preferences-->Ja ...

  4. C++ tab键实现自动补全输入功能

    一.简介 由于项目中写了个测试的控制台程序,是每次读取一行,即通过getline()来实现的,所以每次必须输入全路径名称,才能实现运行. 大家都觉得麻烦,就写了个tab键自动选择补全的. 目前基本可实 ...

  5. C++自定义修饰键,实现如<Capslock+J>等组合键的按键映射

    前:所谓修饰键,就是Ctrl,Alt,Shift,Win这些按键. Update: 我使用AHK写了一个功能更丰富的脚本:https://github.com/h46incon/ModifierCus ...

  6. 转:设置Eclipse中的tab键为4个空格的完整方法

    from: https://my.oschina.net/xunxun10/blog/110074   设置Eclipse中的tab键为4个空格的完整方法 收藏 XunXun10 发表于 4年前 阅读 ...

  7. 使用回车键代替TAB键 需jquery1.4.2版本

    1 $(document).ready(function () { 2 $(':input:text:first').focus(); 3 $(':input:enabled').addClass(' ...

  8. 在VNC中Xfce4中Tab键失效的解决方法

    说明 在Ubuntu Server 14.04上安装了xfce4桌面环境,但是却发现在终端中Tab键不能自动补齐(但是Ctrl + I 仍然可以用). 出现这种情况的原因是,由于Tab键的功能被窗口快 ...

  9. JQuery实现回车代替Tab键(按回车跳到下一栏)

    一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了.这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目. ...

随机推荐

  1. kubernetes调度之污点(taint)和容忍(toleration)

    系列目录 节点亲和性(affinity),是节点的一种属性,让符合条件的pod亲附于它(倾向于或者硬性要求).污点是一种相反的行为,它会使pod抗拒此节点(即pod调度的时候不被调度到此节点) 污点和 ...

  2. Active Directory的LDAP协议与DN(Distinguished Name)详解

    前言 光copy几段代码的文章没什么意思,本章上最基础的代码,主要是为了从编程方面聊LDAP和DN,其它的后面聊,一步步慢慢来吧. Active Directory编程须知 1.域控服务器: Wind ...

  3. cubietruck制作刷新lubuntu-kernel

    一:安装交叉编译工具链以及相应的工具(系统最好是ubutnu-64位-server) sudo apt-get install g++ sudo apt-get install libncurses5 ...

  4. idea 编辑yml文件没有联想功能,解决方案

    idea 编辑yml文件没有联想功能,解决方案 https://segmentfault.com/q/1010000010556550 按Ctrl+Shift+Alt+S,点Facets如果没有添加s ...

  5. linux的su和sudo(转载)

    来源:http://www.jb51.net/LINUXjishu/12713.html 一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比 ...

  6. Android Eclipse 导入 AS Gradle AAR 库手冊

    序言 这是一篇半技术类文章.众所周知如今Google主推Android Studio开发工具.而Eclipse已经被闲置一阵子了,可是Eclipse项目却还有非常多没有迁移到AS中.而如今一些新的库都 ...

  7. redis事务和乐观锁

    1 MULTI/EXEC 执行本事务. MULTI set foo bar get foo set foo hello EXEC 在EXEC执行前,三条命令都放入队列中,然后EXEC触发执行.没有回滚 ...

  8. it starts (“forks”) a new process for each connection.

    PostgreSQL: Documentation: 10: 1.2. Architectural Fundamentals https://www.postgresql.org/docs/10/st ...

  9. DuiLib笔记之Window常用属性

    caption 可拖拽以移动窗口的标题区,类型:RECT.例如,要指定标题区高度为35,可设置caption="0,0,0,35" mininfo 窗口最小尺寸,类型:SIZE.例 ...

  10. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...