スプレッドのセル編集時にEnterキーのイベントを取得し、別の処理を行う
//フォームロードイベント
private void Form1_Load(object sender, System.EventArgs e)
{
fpSpread1.EditModePermanent = true;
// 編集中セルの Enterキー押下による動作を無効とします。
FarPoint.Win.Spread.InputMap inputmap1;
inputmap1 = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
inputmap1.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
}
//スプレッドの編集開始イベント
private void fpSpread1_EditModeOn(object sender, System.EventArgs e)
{
// 編集モードONの時、KeyDownイベントを取得する
fpSpread1.EditingControl.KeyDown += new System.Windows.Forms.KeyEventHandler (this.fpSpread1_KeyDown);
}
//スプレッドの編集終了イベント
private void fpSpread1_EditModeOff(object sender, System.EventArgs e)
{
// 編集モードOFFの時、KeyDownイベントの関連付けを解除
fpSpread1.EditingControl.KeyDown -= new System.Windows.Forms.KeyEventHandler (this.fpSpread1_KeyDown);
}
//キーダウンイベント
private void fpSpread1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{ Console.WriteLine("EnterキーによるKeyDown");
}
}
- 参考URL:http://www.grapecity.com/japan/support/kb/detail.asp?id=15505