1、有表头,无数据(也就是数据是0件)的情况,需要增加以下代码。
private void fpSpread1_KeyUp(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Tab) { if (fpSpread1.ActiveSheet.ActiveRowIndex == fpSpread1.ActiveSheet.RowCount - 1 && fpSpread1.ActiveSheet.ActiveColumnIndex == -1) { Control p; p = ((FarPoint.Win.Spread.FpSpread)sender).Parent; p.SelectNextControl(ActiveControl, true, true, true, true); } } else if (e.KeyData == (Keys.Tab | Keys.Shift)) { if (fpSpread1.ActiveSheet.ActiveRowIndex == fpSpread1.ActiveSheet.RowCount - 1 && fpSpread1.ActiveSheet.ActiveColumnIndex == -1) { Control p; p = ((FarPoint.Win.Spread.FpSpread)sender).Parent; p.SelectNextControl(ActiveControl, false, true, true, true); } } }
2、有表头,有数据。(需要增加输入映射)
第一种方法:(画面实现)
通过打开 Spread设计器 -> 设置 -> 输入映射(此时会打开 输入映射编辑器),将 tab和shift tab 的映射进行增加。
tab:MoveToNextCellThenControl
shift + tab:MoveToPreviousCellThenControl
第二种方法:(代码实现)
明天更新。
按下tab和shift tab 跳不出Spread 11 ,14的解决方法
原文:https://www.cnblogs.com/wzihan/p/14828198.html