前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何实现伪双击事件

如何实现伪双击事件

作者头像
跟着阿笨一起玩NET
发布2018-09-18 15:27:58
7970
发布2018-09-18 15:27:58
举报

大体都是用两次单击的时间差来判断一下是否是双击。

SystemInformation.DoubleClickTime默认是500

第一种方式:可以参考http://blog.csdn.net/zbssoft/article/details/5602658

代码语言:javascript
复制
DateTime   lastDownTime   =   DateTime.Now;   
  private   void   comboBox1_MouseDown(object   sender,   MouseEventArgs   e)   
  {   
  TimeSpan   sp   =   DateTime.Now   -   lastDownTime;   
  if   (sp.Milliseconds   <=   SystemInformation.DoubleClickTime)   
  {   
  System.Console.WriteLine("DoubleClick");   
  }   
  else   
  {   
  System.Console.WriteLine("Click");   
  }   
  lastDownTime   =   DateTime.Now;   
  }

Derexpress中的TreeList控件触发双击事件的时候,总会触发单击事件。为了处理单击和双击的时候分别处理不同的代码,解决方案如何:

第二种方式:http://www.devexpress.com/Support/Center/p/S136873.aspx。记得是在Timer控件的Interval 属性为500

代码语言:javascript
复制
bool needHandleMouseClick = true;
        private void tlDokumente_MouseClick(object sender, MouseEventArgs e)  {
            timer1.Start();
        }
        private void treeList1_MouseDoubleClick(object sender, MouseEventArgs e) {
            needHandleMouseClick = false;
            // perform your code here
            //...
            //System.Diagnostics.Process.Start(file);
        }
        private void timer1_Tick(object sender, EventArgs e)    {
            timer1.Stop();
            if (needHandleMouseClick)   {
                // your code here
                //...
                // wbDokument.Navigate(file);
            }
            needHandleMouseClick = true;
        }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档