いつもお世話になります。
VB.NETについての質問をさせていただきます。
発生している問題
DataGridView.CellDoubleClickイベントですが、
一度対象のセルをクリックした後、ダブルクリックをすると動きますが、
フォーカスがDataGridViewの外にある状態で、対象のセルをダブルクリックするとイベントが発生しないことがあります。
(ゆっくりダブルクリックすると動きます。)
試したこと
該当のDataGridViewには、CellDoubleClickイベントの他にCellEnterイベントも追加しています。
CellEnterイベントを削除すると上記の問題は発生しないので、
CellEnterイベントの方が発生のタイミングが早く、その処理がされているためにCellDoubleClickが反応しないのだと思います。
該当のソースコード
VB.NET
1 2 Private Sub DGV1_CellEnter(sender As Object, e As DataGridViewCellEventArgs) Handles DGV1.CellEnter 3 4 Dim dgv As DataGridView = CType(sender, DataGridView) 5 txtName.Text = dgv("Name", e.RowIndex).Value 6 txtPrice.Text = String.Format("{0:#,0}", dgv("Price", e.RowIndex).Value) 7 8 End Sub 9 10 Private Sub DGV1_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DGV1.CellDoubleClick 11 12 Call SubRoutine1 13 14 End Sub 15
使用者が気付かない内に対象を飛ばす事態を避けたいので、
直前のフォーカスやダブルクリックのスピードなどに左右されず、必ずCellDoubleClickイベントを発生させたいです。
よい方法がありましたら、是非お知恵を拝借したいと思います。
お手数をおかけしますが、よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 00:57