探寻C#Button双击事件

C# Button双击事件大家一定相当熟悉了,本文笔者又再一次为你阐述了C# Button双击事件的原理及实现方法。

成都创新互联公司,为您提供成都网站建设公司成都网站制作公司、网站营销推广、网站开发设计,对服务成都高空作业车租赁等多个行业拥有丰富的网站建设及推广经验。成都创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

C# Button是有DoubleClick事件的,只是它没有出现在事件列表中,而且.net也是把这个事件给"屏蔽"掉了,无论你双击一个按钮怎么快,也不会触发这个事件。

为了能够触发C# Button的双击事件,我们可以重载MouseDown事件,记录每次鼠标按下的时间,如果两次点击的时间足够近的话,就触发一次双击方法。

这样也大致能够达到双击的效果,我所采用的方法其实和这个类似,是继承Button类,重载Button类的Click事件,在Click事件中判断两次点击的时间,如果近的话,就触发双击事件。

下面就是C# Button双击事件的代码:

 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4. using System.Windows.Forms;  
  5.     public class ButtonEx : Button  
  6.     {  
  7.         public new event EventHandler DoubleClick;  
  8.         DateTime clickTime;  
  9.         bool isClicked = false;  
  10.         protected override void OnClick(EventArgs e)  
  11.         {  
  12.             base.OnClick(e);  
  13.             if (isClicked)  
  14.             {  
  15.                 TimeSpan span = DateTime.Now - clickTime;  
  16.                 if (span.Milliseconds < SystemInformation.DoubleClickTime)  
  17.                 {  
  18.                     DoubleClick(this, e);  
  19.                     isClicked = false;  
  20.                 }  
  21.             }  
  22.             else 
  23.             {  
  24.                 isClicked = true;  
  25.                 clickTime = DateTime.Now;  
  26.             }  
  27.         }  
  28.     }  

这样,就可以为创建的ButtonEx按钮添加DoubleClick事件了:

 
 
 
  1. button.DoubleClick += new EventHandler(Button_DoubleClick);  // 双击按钮事件 

以上就是笔者介绍的C# Button双击事件。

名称栏目:探寻C#Button双击事件
文章URL:http://www.shufengxianlan.com/qtweb/news5/94705.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联