在一些嵌套的控件,朴拙不到这些健,是因为 我们在上一篇中用尽方法也截不下 Enter 键呀,看来这一键盘响应已经被控件封装为 protected 型了。控件编写人员把多个预定义的键盘绑定方案封装起来,称为快捷键。我们在Keydown/KeyPress中没办法拦截到Enter键和其它一些键盘按键正是这个原因,下面罗列的就是隐藏起来的快捷键:
操作 | 快捷键 |
完成单元格输入并向下移动到下一个单元格。 如果焦点在子表链接上,则导航至该表。 | ENTER 键 |
如果处于单元格编辑模式,则取消单元格编辑。 如果处于字幕选择模式,则取消在行上的编辑。 | ESC 键 |
当编辑单元格时,删除插入点前的字符。 | BACKSPACE 键 |
当编辑单元格时,删除插入点后的字符。 | DELETE 键 |
移动到当前行的第一个单元格。 | HOME 键 |
移动到当前行的最后一个单元格。 | END 键 |
突出显示当前单元格中的字符并将插入点置于该行的末尾。与双击单元格的行为相同。 | F2 键 |
如果焦点在单元格上,则移动到该行中的下一个单元格。 如果焦点在某行中最后一个单元格上,则移动到该行的第一个子表链接并将其展开。 如果焦点在子链接上,则移动到下一个子链接。 如果焦点在最后一个子链接上,则移动到下一行的第一个单元格。 | TAB 键 |
如果焦点在单元格上,则移动到该行中的上一个单元格。 如果焦点在某行中第一个单元格上,则移动到上一行中最后一个展开的子表链接,或移动到上一行中最后一个单元格。 如果焦点在子链接上,则移动到上一个子链接。 如果焦点在第一个子链接上,则移动到上一行的最后一个单元格。 | SHIFT+TAB 键 |
按 Tab 键顺序移动到下一个控件。 | CTRL+TAB 键 |
按 Tab 键顺序移动到上一个控件。 | CTRL+SHIFT+TAB 键 |
如果在子表中,则向上移动到父表。与单击“后退”按钮的行为相同。 | ALT+左箭头键 |
展开子表链接。ALT+下箭头键展开所有链接,而不仅仅是选定的链接。 | ALT+下箭头键 |
折叠子表链接。ALT+上箭头键折叠所有链接,而不仅仅是选定的链接。 | ALT+上箭头键 |
按箭头的方向移动到最远的一个非空单元格。 | CTRL+箭头键 |
按箭头的方向将所选内容扩展一行(不包括子表链接)。 | SHIFT+上/下箭头键 |
按箭头的方向将所选内容扩展到最远的一个非空行(不包括子表链接)。 | CTRL+SHIFT+上/下箭头键 |
移动到左上角的单元格。 | CTRL+HOME 键 |
移动到右下角的单元格。 | CTRL+END 键 |
将所选内容扩展到顶端行。 | CTRL+SHIFT+HOME 键 |
将所选内容扩展到底端行。 | CTRL+SHIFT+END 键 |
选择当前行(不包括子表链接)。 | SHIFT+SPACEBAR 键 |
选择整个网格(不包括子表链接)。 | CTRL+A 键 |
当在子表中时,显示父行。 | CTRL+PAGE DOWN 键 |
当在子表中时,隐藏父行。 | CTRL+PAGE UP 键 |
将所选内容向下扩展一个屏幕(不包括子表链接)。 | SHIFT+PAGE DOWN 键 |
将所选内容向上扩展一个屏幕(不包括子表链接)。 | SHIFT+PAGE UP 键 |
为当前行调用 DataGrid.EndEdit 方法。 | CTRL+ENTER 键 |
当处于编辑模式时,将 dbnull 值输入单元格。 | CTRL+0 键 |
ProcessCmdKey 方法确定是否该控件是否有上下文菜单,如果有,则允许Contextmenu处理该命令健,如果命令健不是菜单的快捷方式,且该控件有父级,那么该命令健传送给父级的ProcessCmdKey ,净效果是命令件在控件层次上向上冒。
ProcessCmdKey 定义:处理命令健。在消息预处理过程中调用此方法,以处理命令键。命令键是始终比常规输入键具有优先权的键。命令键的示例包括快捷键和菜单快捷方式