読者です 読者をやめる 読者になる 読者になる

Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

DataGridViewで編集中のセルのEnterキー押下を捕捉する

C#

DataGridViewでセルが編集中の時にキーイベントを捕捉する: .NET Tips: C#, VB.NET

こちらの解説にあるようにDataGridViewのキーイベントは、セルが編集中の場合はイベントが発生せず、「編集中になっているセルのテキストボックス」のキーイベントを捕捉する必要があります。

しかし、KeyDown/KeyPressを捕まえても、なんでかしらないのですが、Enterキーが捕捉できませんでした。色々イベントを適当に捕捉してみたら、PreviewKeydownという名前のイベントがありました。keydownの前に発生するんでしょう、きっと。

DataGridViewTextBoxEditingControl イベント (System.Windows.Forms)

こいつのイベントハンドラを作ったら、Enterキーが捕捉され、入力値も取得できました。

めでたし。