質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

1回答

8033閲覧

VB.NET DataGridView.CellDoubleClickの反応がCellEnterにより遅れる。

ri-ons

総合スコア7

DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/04/09 23:51

いつもお世話になります。
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イベントを発生させたいです。

よい方法がありましたら、是非お知恵を拝借したいと思います。
お手数をおかけしますが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

CellEnterイベント内で、セルの指定を名前でやってますが、これだと検索の時間がかかってしまうので、列番号決め打ちでやればどうでしょうか。

投稿2019/04/10 00:32

y_waiwai

総合スコア87719

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ri-ons

2019/04/10 00:57

迅速なご回答ありがとうございます。 2パターンで比較してみましたが、CellEnter内の処理内容が少な過ぎたのか、 誤差0.00001s以内に留まりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問