Datagrid键盘事件响应(二)

时间:2010-03-16 17:38:09  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:nbsp;对于Datagrid的键盘事件响应,我们一定要分辨清楚是Datagrid自身的,还是cell单元格的键盘事件响应,处理方法是有很大区别的。大家可以参考第一篇的方法,对cell中的键盘事件进行处理。      但有个问题上一节没有交待,就是如何对Enter键、方向键、Tab键、Pgup/PgDn这些虚键进行拦截与处理?一般网友遇到这个问题,十有八九是出于这个目的:就是希...
  正文: 这篇文章写得有点晚,继上一篇推出已经快两个月了,今天看到一名网友的留言,说他还在等着看对“Enter”事件的处理,连忙放下手中的事,补上这一篇,也希望网友们不会太失望。
  
  
  
  对于Datagrid的键盘事件响应,我们一定要分辨清楚是Datagrid自身的,还是cell单元格的键盘事件响应,处理方法是有很大区别的。大家可以参考第一篇的方法,对cell中的键盘事件进行处理。
  
  但有个问题上一节没有交待,就是如何对Enter键、方向键、Tab键、Pgup/PgDn这些虚键进行拦截与处理?一般网友遇到这个问题,十有八九是出于这个目的:就是希望按Enter键时使光标在一行中向右一个格一个格跳(从“name”到“123”),而不是立即跳向同一列的下一行(到“xxx”)。(如图1所示)
  
           
  
  
  
                图1 跳格演示
  
  但是,我们在上一篇中用尽方法也截不下Enter键呀,看来这一键盘响应已经被控件封装为protected型了。控件编写人员把多个预定义的键盘绑定方案封装起来,称为快捷键。我们在Keydown/KeyPress中没办法拦截到Enter键和其它一些键盘按键正是这个原因,下面罗列的就是隐藏起来的快捷键:
  
  
  
  操作
  
  
  快捷键
  
  完成单元格输入并向下移动到下一个单元格。
  
  如果焦点在子表链接上,则导航至该表。
  
  
  ENTER 键
  
  如果处于单元格编辑模式,则取消单元格编辑。
  
  如果处于字幕选择模式,则取消在行上的编辑。
  
  
  ESC 键
  
  当编辑单元格时,删除插入点前的字符。
  
  
  BACKSPACE 键
  
  当编辑单元格时,删除插入点后的字符。
  
  
  DELETE 键
  
  移动到当前行的第一个单元格。
  
  
  HOME 键
  
  移动到当前行的最后一个单元格。
  
  
  END 键
  
  突出显示当前单元格中的字符并将插入点置于该行的末尾。与双击单元格的行为相同。
  
  
  F2 键
  
  如果焦点在单元格上,则移动到该行中的下一个单元格。
  
  如果焦点在某行中最后一个单元格上,则移动到该行的第一个子表链接并将其展开。
  
  如果焦点在子链接上,则移动到下一个子链接。
  
  如果焦点在最后一个子链接上,则移动到下一行的第一个单元格。
  
  
  TAB 键
  
  如果焦点在单元格上,则移动到该行中的上一个单元格。
  
  如果焦点在某行中第一个单元格上,则移动到上一行中最后一个展开的子表链接,或移动到上一行中最后一个单元格。
  
  如果焦点在子链接上,则移动到上一个子链接。
  
  如果焦点在第一个子链接上,则移动到上一行的最后一个单元格。
  
  
  SHIFT+TAB 键
  
  按 Tab 键顺序移动到下一个控件。
  
  
  CTRL+TAB 键
  
  按 Tab 键顺序移动到上一个控件。
  
  
  CTRL+SHIFT+TAB 键
  
  如果在子表中,则向上移动到父表。与单击“后退”按钮的行为相同。
  
  
  ALT+左箭头键
  
  展开子表链接。ALT+下箭头键展开所有链接,而不仅仅是选定的链接。
  
   《Datagrid键盘事件响应(二)》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/13244.html


关键字:

关于《Datagrid键盘事件响应(二)》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td