編集中セルで[Ctrl]+[Tab]キーを長押しまたは繰り返し押下すると例外が発生する場合がある

文書番号 : 39454     文書種別 : 不具合     登録日 : 2016/07/06     最終更新日 : 2016/12/07
文書を印刷する
対象製品
SPREAD for WPF 1.0J
状況
修正済み
詳細
この現象は、ボタン型セル、チェックボックス型セル、ラジオグループ型セルで発生します。

SPREADでスクロール操作を行ったあと、ボタン型、チェックボックス型、またはラジオグループ型セルを編集状態にし、[Ctrl]+[Tab]キーを長押しあるいは繰り返し押下すると、例外が発生します。
回避方法
Service Pack 3(v1.0.2016.1207)で修正済みです。
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);
}