2010-06-22 71 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 
      //... 
     } 
    } 
}