2010-06-22 31 views
0

我有我的窗口窗體應用程序中的datagridview事件cellclick和celldoubleclick。 問題是,當我雙擊,只有cellclick事件觸發器,因爲它不能確定,如果它的單擊或雙擊。單元雙擊事件未運行。只有Cellclick事件得到執行

我搜索了這個,發現定時器可能是解決方案..但如何做到這一點? plz help

+0

你是否證實雙擊事件是通過臨時刪除點擊處理程序觸發的? – ChrisF 2010-06-22 12:41:33

+0

是的,我已經證實 – sajad 2010-06-22 12:44:29

回答

2

您可能應該試着找出爲什麼雙擊不會被解僱。回答你的問題:你確實需要一個定時器,其間隔時間設置爲雙擊時間:

public partial class Form1 : Form { 
    public Form1() { 
     InitializeComponent(); 
     timer1.Interval = SystemInformation.DoubleClickTime; 
     timer1.Tick += delegate { timer1.Enabled = false; }; 
    } 

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { 
     if (timer1.Enabled) { 
      timer1.Enabled = false; 
      // Do double-click stuff 
      //... 
     } 
     else { 
      timer1.Enabled = true; 
      // Do single-click stuff 
      //... 
     } 
    } 
}