dataGridViewでマウスのクリックとダブルクリックとを判定するには次のようにします。
public partial class Form1 : Form { #region Grobal Variable & Constant private Timer timer1 = new Timer() { Enabled = false }; #endregion #region Intialization public Form1() { InitializeComponent(); timer1.Tick += new EventHandler(this.OnTick_Formstimer1); } #endregion #region timer1 OnTick public void OnTick_Formstimer1(object sender, EventArgs e) { // タイマーを停止 timer1.Enabled = false; timer1.Stop(); //マウスクリックの処理をここで行う singleClick(); } #endregion #region dataGridView1 Mouse Click private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { // タイマー開始 timer1.Enabled = true; // システムに設定されたダブルクリックの判定時間間隔を取得 timer1.Interval = SystemInformation.DoubleClickTime; timer1.Start(); } #endregion #region dataGridView1 Mouse DoubleClick private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e) { // タイマー停止 if (timer1.Enabled) { timer1.Enabled = false; timer1.Stop(); } // マウスダブルクリックの処理をここで行う doubleClick(); } #endregion #region singleClick private void singleClick() { //マウスクリック時の実際の処理 } #endregion #region doubleClick private void doubleClick() { //マウスダブルクリック時の実際の処理 } } |