[MLTR11137]セルのInputScopeを設定した時、最初のキーが入力されないことがある

文書番号 : 39048     文書種別 : 制限事項     登録日 : 2015/07/23     最終更新日 : 2015/07/23
文書を印刷する
対象製品
MultiRow for Windows Forms 8.0J
詳細
以下の条件を満たす場合、セルに入力する最初のキーの値が入力されません。
・セルのInputScopeプロパティにHiragana、KatakanaFullWidthまたはKatakanaHalfWidthが設定されている。
・GcMultiRow.EditModeプロパティにEditOnKeystrokeOrShortcutKeyが設定されている。

例えば、InputScopeプロパティにHiraganaが設定されているセルに対して「KA」と入力すると、最初の「K」が入力されないため「か」ではなく「あ」が入力されます。
回避方法
GcMultiRowのPreviewKeyDownイベントに次のようなコードを記述することで回避することができます。

[Visual Basic]
Imports GrapeCity.Win.MultiRow

  Private Sub GcMultiRow1_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles GcMultiRow1.PreviewKeyDown
    ' セルの編集を開始する
    Dim grid As GcMultiRow = sender
    If Not grid.IsCurrentCellInEditMode AndAlso e.KeyData = Keys.ProcessKey Then
      grid.BeginEdit(True)
    End If
  End Sub

[C#]
using GrapeCity.Win.MultiRow;

  private void gcMultiRow1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
  {
    // セルの編集を開始する
    GcMultiRow grid = sender as GcMultiRow;
    if (!grid.IsCurrentCellInEditMode && e.KeyData == Keys.ProcessKey)
    {
      grid.BeginEdit(true);
    }
  }