0

1つの列にスペースを追加してユーザーが整列する必要のあるデータが含まれるDataGridViewがあります。たとえば、最初の2行には次のものが含まれる場合があります。

kumbu
kuimbiu

また、ユーザーはスペースを追加して、一致する文字を並べることができる必要があります。このようなもの:

ku mb u
kuimbiu

DataGridViewでこれを行うには、ユーザーは上部のセルで編集モードに入り、スペースを追加し、Enterキーを押し、下部のセルで編集モードに再度入り、スペースを追加する必要があります。ユーザーは、一番上のセルの編集モードで下矢印を押し、編集モードのままで2番目のセルに進んで、クリックやF2ヒットを節約できるようにしたいと考えています。

これを行う良い方法はありますか?下矢印キーの押下をトラップし、編集モードを終了し、セルを進めてから、グリッドのBeginEditメソッドを使用して編集モードに入ろうとしましたが、これでは目的が達成されません。

何か案は?

4

1 に答える 1

1

セルを離れるときに、編集ステータスをクラス変数にキャプチャします。ユーザーがプレスまたはエンターすると、次のセルが編集モードを開始しますが、前のセルが編集モードであった場合に限ります。列に基づく必要がある場合は、追加のロジックを追加できます。

Private blnEditMode As Boolean = False
Private Sub dgv_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellEnter
    If blnEditMode Then
        dgv.BeginEdit(False)
    End If
End Sub

Private Sub dgv_CellLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellLeave
    blnEditMode = dgv.IsCurrentCellInEditMode
End Sub
于 2010-08-06T12:59:55.610 に答える