在最近的GCDN论坛问题解答中,有2个网友问到:

  • “在WinForm中,如何实在Spread中 按Tab键聚焦页面上的其它控件?
    我用了   protected override bool ProcessCmdKey 来捕获,但是效果不是很好?有没有其它解决办法 ”
  • “在初期显示的时候光标选中spread的第一个单元格,然后按下tab键,要跳出spread,选中form上的其他空间,而不是选中spread的第二个单元格,请问有什么属性设置吗? ”

答案是有的,通过自定义Tab健事件即可完成这个目标---把tab健默认的事件(MoveToNextColumnWrap)取消.

  1:            FarPoint.Win.Spread.SheetView shv = fpSpread1.ActiveSheet;
  2: 
  3:             FarPoint.Win.Spread.InputMap im = new FarPoint.Win.Spread.InputMap();
  4: 
  5:             FarPoint.Win.Spread.Keystroke k = new FarPoint.Win.Spread.Keystroke(Keys.Tab, Keys.None);
  6: 
  7:            
  8: 
  9:             im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
 10: 
 11:             im.Put(k, SpreadActions.None);
 12: 
 13: 
 14: 
 15:             im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
 16: 
 17:             im.Put(k, SpreadActions.None);

 

类似参考的博文列表: