編集中セルで[Ctrl]+[Tab]キーを長押しまたは繰り返し押下すると例外が発生する場合がある
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
この現象は、ボタン型セル、チェックボックス型セル、ラジオグループ型セルで発生します。
SPREADでスクロール操作を行ったあと、ボタン型、チェックボックス型、またはラジオグループ型セルを編集状態にし、[Ctrl]+[Tab]キーを長押しあるいは繰り返し押下すると、例外が発生します。
SPREADでスクロール操作を行ったあと、ボタン型、チェックボックス型、またはラジオグループ型セルを編集状態にし、[Ctrl]+[Tab]キーを長押しあるいは繰り返し押下すると、例外が発生します。
回避方法
Service Pack 3(v1.0.2016.1207)で修正済みです。
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
OnPreviewKeyDownメソッドをオーバーライドし、[Ctrl]+[Tab]キーの動作を無効にすることで回避可能です。
◎サンプルコード(VB)
◎サンプルコード(C#)
Service Pack 3(v1.0.2016.1207)より前のバージョンでは次の回避方法が有効です。
------------------------------------------
OnPreviewKeyDownメソッドをオーバーライドし、[Ctrl]+[Tab]キーの動作を無効にすることで回避可能です。
◎サンプルコード(VB)
Protected Overrides Sub OnPreviewKeyDown(e As KeyEventArgs)
If TypeOf e.OriginalSource Is GrapeCity.Windows.SpreadGrid.Presenters.BaseCellPresenter Then
If e.Key = Key.Tab And e.KeyboardDevice.Modifiers = ModifierKeys.Control Then
e.Handled = True
End If
End If
MyBase.OnPreviewKeyDown(e)
End Sub
◎サンプルコード(C#)
protected override void OnPreviewKeyDown(KeyEventArgs e)
{
if (e.OriginalSource is GrapeCity.Windows.SpreadGrid.Presenters.BaseCellPresenter)
{
if (e.Key == Key.Tab && e.KeyboardDevice.Modifiers == ModifierKeys.Control)
{
e.Handled = true;
}
}
base.OnPreviewKeyDown(e);
}