• ベストアンサー

DataGridView入力確定前の値を取得

VB.net (VS2005)のDataGridViewに関してですが、 セルの入力が確定される前の値を取得したいのですが いい方法はないでしょうか。 入力可能状態のセルに文字を張付けたとき、 RowStateChangedイベントが発生するのですが、 Enterキーを押下して入力を確定する前に、 張付けた文字列を取得したいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 DataGridViewのCellに文字列をコピーペーストした際に、コピペした文字列 をEnterキーで入力確定するまえに取得するサンプルを作ってみました。 動作イメージは コピペによるセルの編集を検知(CurrentCellDirtyStateChanged) ↓ セルの編集を一度コミット(CurrentCellDirtyStateChanged) ↓ コミット後に発生するイベントでコピペした値を取得(CellValueChanged) 'サンプル) Private Sub DataGridView1_CurrentCellDirtyStateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged If Me.DataGridView1 Is Nothing Then Exit Sub End If DataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit) End Sub Private Sub DataGridView1_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged If Me.DataGridView1 Is Nothing OrElse Me.DataGridView1.CurrentCell Is Nothing Then Exit Sub End If     ’コピペした文字列を表示 MsgBox(Me.DataGridView1.CurrentCell.Value) End Sub

futatake
質問者

お礼

返答遅くなりまして申し訳ありません。 教えて頂いた方法でうまく要件を満たすことができました。 ありがとうございました。

関連するQ&A

専門家に質問してみよう