自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探尋C# Button雙擊事件

開(kāi)發(fā) 后端
為了能夠觸發(fā)C# Button的雙擊事件,我們可以重載MouseDown事件,記錄每次鼠標(biāo)按下的時(shí)間,如果兩次點(diǎn)擊的時(shí)間足夠近的話,就觸發(fā)一次雙擊方法。

C# Button雙擊事件大家一定相當(dāng)熟悉了,本文筆者又再一次為你闡述了C# Button雙擊事件的原理及實(shí)現(xiàn)方法。

C# Button是有DoubleClick事件的,只是它沒(méi)有出現(xiàn)在事件列表中,而且.net也是把這個(gè)事件給"屏蔽"掉了,無(wú)論你雙擊一個(gè)按鈕怎么快,也不會(huì)觸發(fā)這個(gè)事件。

為了能夠觸發(fā)C# Button的雙擊事件,我們可以重載MouseDown事件,記錄每次鼠標(biāo)按下的時(shí)間,如果兩次點(diǎn)擊的時(shí)間足夠近的話,就觸發(fā)一次雙擊方法。

這樣也大致能夠達(dá)到雙擊的效果,我所采用的方法其實(shí)和這個(gè)類似,是繼承Button類,重載Button類的Click事件,在Click事件中判斷兩次點(diǎn)擊的時(shí)間,如果近的話,就觸發(fā)雙擊事件。

下面就是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.     }  

這樣,就可以為創(chuàng)建的ButtonEx按鈕添加DoubleClick事件了:

  1. button.DoubleClick += new EventHandler(Button_DoubleClick);  // 雙擊按鈕事件 

以上就是筆者介紹的C# Button雙擊事件。

【編輯推薦】

  1. 淺析Silvelight中顯示多重?cái)?shù)據(jù)模型集合
  2. C# XML解析方式實(shí)例解析
  3. 簡(jiǎn)述C# XML解析方法的特點(diǎn)及應(yīng)用
  4. 有關(guān)事件與委托關(guān)系的思考
  5. .NET對(duì)象的XML序列化和反序列化實(shí)例詳解
責(zé)任編輯:阡陌 來(lái)源: 博客園
相關(guān)推薦

2009-09-11 09:59:47

2009-09-10 12:00:09

C# listbox

2009-09-11 09:20:00

C# button事件

2009-08-26 17:10:09

C# 3.5新特性

2009-09-10 17:48:05

C# button

2009-08-27 15:22:27

C#中的GET與SET

2009-08-07 17:57:26

C#定義事件應(yīng)用

2009-08-28 09:43:05

C#事件

2009-08-18 10:48:25

C#事件

2009-08-12 15:20:21

C#事件處理

2009-09-10 18:06:25

C# button快捷

2009-08-27 18:02:22

C#事件處理

2009-08-13 10:42:31

C#窗體拖動(dòng)事件

2009-08-28 13:12:02

C# Page_Err

2009-08-28 14:28:25

C# Applicat

2009-08-12 18:28:09

C#事件處理程序

2009-09-07 15:31:49

C#支持事件

2011-04-25 09:22:44

C#事件

2009-09-07 04:19:56

C#窗體事件

2009-08-04 09:56:46

C#事件處理自定義事件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)