C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■93213 / )  DataGridViewのCellDoubleClick
□投稿者/ Rider (1回)-(2019/11/28(Thu) 10:39:20)

分類:[VB.NET/VB2005 以降] 

使用言語:VB2013
OS:Windows10

こんにちは。
クリックイベントについて質問があります。
これはDataGridViewだけの問題ではないのかも知れませんが、
DataGridViewに関連したイベントについて質問です。

あるDataGridViewでは、以下のイベントを行っています。
・CellDoubleClick
・CurrentCellChanged

CurrentCellChangedのイベントでは、グリッドの選択セルの内容に応じて
別のコンボボックスの中身を変更するような処理を行っています。
ただし、セルのダブルクリックを行った場合、
選択されているセルでのダブルクリックでは
CellDoubleClickイベントが発生するのですが、
選択されていないセルのダブルクリックでは、
先にCurrentCellChangedのイベントが発生しますが、
CurrentCellChangedイベント実行後、CellDoubleClickイベントが発生しません。
また、CurrentCellChangedイベントで実行している処理のうち、
別のコンボボックスの中身を変更するような処理をコメントアウトすると、
CellDoubleClickイベントが発生するようになります。

試しに、CurrentCellChangedイベントで行う処理をタイマーで
1秒(1000ミリ秒)遅延させて処理を行えば、CellDoubleClickイベントも発生し、
CurrentCellChangedイベントで行っていた内容も処理されることを確認しましたが、
このタイマーによる遅延を短くしすぎるとCellDoubleClickイベントが発生せず、
タイマー1秒が妥当なのかどうかも分かりません。

どうせならTimerを使わずに、CurrentCellChangedとCellDoubleClickの
両イベントを両立させたいのですが、何か良い方法はないでしょうか?
返信 編集キー/


管理者用

- Child Tree -