响应Spread的KeyDown事件

发布时间:2014/01/29 00:01 发布者:roger.wang

返回博客中心

.NET下keydown事件,默认情况是可直接触发的:如在Spread内key按下的时候。然而,在Edit模式下---用户在单元格内输入文字过程,KeyDown事件是不被触发的。 这样的话,如果要实现KeyDown,则需要“特殊”设置才可触发KeyDown事件,参考代码如下:

  1:        private void InitKeyDown()
  2:         {
  3: 
  4:             fpSpread1.EditModePermanent = true;
  5: 
  6:             fpSpread1.EditModeReplace = true;
  7: 
  8:             fpSpread1.EditMode = true;
  9: 
 10: 
 11: 
 12:             fpSpread1.EditModeOn +=fpSpread1_EditModeOn;
 13: 
 14:             fpSpread1.EditModeOff +=fpSpread1_EditModeOff;
 15: 
 16:         }
 17: 
 18: 
 19: 
 20:       private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
 21: 
 22:         {
 23: 
 24:         }
 25: 
 26: 
 27: 
 28:         private void fpSpread1_EditModeOn(object sender, System.EventArgs e)
 29: 
 30:         {
 31: 
 32:             KeyEventHandler keyDown = new KeyEventHandler(fpSpread1_KeyDown);
 33: 
 34:             fpSpread1.EditingControl.KeyDown += keyDown;
 35: 
 36:         }
 37: 
 38: 
 39: 
 40:         private void fpSpread1_EditModeOff(object sender, System.EventArgs e)
 41: 
 42:         {
 43: 
 44:             KeyEventHandler keyDown = new KeyEventHandler(fpSpread1_KeyDown);
 45: 
 46:             fpSpread1.EditingControl.KeyDown -= keyDown;
 47: 
 48:         }
 49: 
 50: 

 

需要特别注意的是:InitKeyDown()方法,在构造函数执行完InitializeComponent()调用。


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网