0

私のデータグリッドビュー名は DGVall です DGVall_CellEndEdit イベントでコードを指定しました

e.ColumnIndex = 2 の場合

        If DGVall.CurrentRow.Cells(2).Value = "" Then
            MessageBox.Show("Please Enter Driver ID")
            Exit Sub
        End If

この前に確認したいのですが、Enter キーだけを押した場合は、Enter キーのみを押しました。これを実行したいのですが、どのコントロールを押したのかをここで確認できません。vb.net Windows アプリケーションで作業しています。

4

1 に答える 1

1

このようなアプローチを使用できます

Private isEnterPress as boolean = false

private sub dgv_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles dgv.EditingControlShowing
    If dgv.CurrentCell.ColumnIndex = 2 'if column index = 2 then add handler to control
        AddHandler Ctype(e.Control, Textbox).KeyPress, AddresOf TextBox_KeyPress
    End If
End Sub

private sub TextBox_keyPress(byval sender as object, byval e as KeyPressEventArgs)
    If 'check if key press is enter key
        isEnterPress = true
    end if
End Sub

その後、CellEndEditイベントで、isEnterPressその値に基づいてアクションを確認して実行できます。ただし、isEnterPress終了したら false に設定することを忘れないでください。この助けを願って

注: Enter キーが押されたかどうかを確認する方法を忘れてしまい、現在作業中のコンピューターにいないことをお詫びします。

于 2013-08-15T09:31:29.930 に答える