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

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

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

1回答

5900閲覧

[C# .Net]DataGridViewでダブルクリックを認識する際、最初に一回View内をクリックしないと認識できません。

messon

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2020/10/07 16:08

編集2020/10/07 16:18

前提・実現したいこと

C#.Netで、Windowsフォームアプリをつくっています。
DataGridView内で特定の行をダブルクリックしたときのイベントを取得する際、
最初に一回DataGridView内のどこかを一度クリックした後でないと、ダブルクリックイベントを取得できずに困っています。
つまり、DataGridViewが表示された直後にすぐダブルクリックしても、なにも反応しない、という状態です。

理想的には、DataGridViewが表示された直後から、すぐにダブルクリックを認識できる状態にしたいと思っています。
しかし原因がわからず、自力で解決できそうにありません。
どのように対処すればよろしいでしょうか。

【追記】
稀に一回目でも反応することがあります。
単純に、ダブルクリックの認識精度が悪いようです・・・。
改善方法はあるのでしょうか。

該当のソースコード

C#

1private void DataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) 2{ 3 //ダブルクリック時の処理 4}

補足情報(FW/ツールのバージョンなど)

フレームワーク .Net Framework 4.7.2
出力の種類 Windowsフォームアプリケーション

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/10/08 00:59

こちらで試しましたが、そのような現象は発生しないので、環境依存か既存コードの影響を受けているかどちらかの気はしますが。 ・完全に新規に作成したフォームにDataGridViewを置いて、CellDoubleClick の処理だけを実装しても同じ現象が発生するか ・他のコントロールでも同様の現象が発生するか ・他PCでも同様の現象が発生するか この辺りは確認されたでしょうか。
退会済みユーザー

退会済みユーザー

2020/10/08 01:39

イベントハンドラ DataGridView1_CellDoubleClick が DataGridView.CellDoubleClick イベントにアタッチされてないとか? 以下のようなコードはありますか? this.dataGridView1.CellDoubleClick += DataGridView1_CellDoubleClick;
hihijiji

2020/10/08 02:44

UIスレッドで重たい処理をして、UIが固まってるなんてことはないですか?
messon

2020/10/10 09:08

>radianさん、SurferOnWwwさん、hihijijiさん ご回答いただき誠にありがとうございます。着手まで時間がかかってしまい、回答が遅くなって大変失礼いたしました。 イベントハンドラは確認できました。 また、他のPCでも同様の症状が確認されました。 そこでいちから完全新規でフォームを作り、CellDoubleClickの処理だけ実装したところ、 症状が再現されませんでした。 そこでなにかの処理が影響しているのだと思い、差分をひとつひとつ確認してみたところ、 ShowCellToolTipsをTrueからFalseに変更したところ、症状が発生しなくなりました。 なぜこれで改善したのかは不明ですが・・・。 みなさまのご意見のおかけで解決することができました。 本当にありがとうございました。
guest

回答1

0

自己解決

radianさん、SurferOnWwwさん、hihijijiさん

ご回答いただき誠にありがとうございます。着手まで時間がかかってしまい、回答が遅くなって大変失礼いたしました。

イベントハンドラは確認できました。
また、他のPCでも同様の症状が確認されました。
そこでいちから完全新規でフォームを作り、CellDoubleClickの処理だけ実装したところ、
症状が再現されませんでした。

そこでなにかの処理が影響しているのだと思い、差分をひとつひとつ確認してみたところ、
ShowCellToolTipsをTrueからFalseに変更したところ、症状が発生しなくなりました。
なぜこれで改善したのかは不明ですが・・・。

みなさまのご意見のおかけで解決することができました。
本当にありがとうございました。

投稿2020/10/10 09:10

messon

総合スコア12

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

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

退会済みユーザー

退会済みユーザー

2020/10/10 12:24

解決したようで良かったです。 原因が判らない場合は、まず原因の切り分け・絞り込みから地道にやっていくのが近道ですね。
messon

2020/10/10 14:35

そうですね、今後の教訓にします。 今後ともよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問