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

成都創(chuàng)新互聯(lián)公司,為您提供成都網(wǎng)站建設(shè)公司、成都網(wǎng)站制作公司、網(wǎng)站營(yíng)銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)成都高空作業(yè)車租賃等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
C# Button是有DoubleClick事件的,只是它沒有出現(xiàn)在事件列表中,而且.net也是把這個(gè)事件給"屏蔽"掉了,無論你雙擊一個(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雙擊事件的代碼:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Windows.Forms;
- public class ButtonEx : Button
- {
- public new event EventHandler DoubleClick;
- DateTime clickTime;
- bool isClicked = false;
- protected override void OnClick(EventArgs e)
- {
- base.OnClick(e);
- if (isClicked)
- {
- TimeSpan span = DateTime.Now - clickTime;
- if (span.Milliseconds < SystemInformation.DoubleClickTime)
- {
- DoubleClick(this, e);
- isClicked = false;
- }
- }
- else
- {
- isClicked = true;
- clickTime = DateTime.Now;
- }
- }
- }
這樣,就可以為創(chuàng)建的ButtonEx按鈕添加DoubleClick事件了:
- button.DoubleClick += new EventHandler(Button_DoubleClick); // 雙擊按鈕事件
以上就是筆者介紹的C# Button雙擊事件。
網(wǎng)頁名稱:探尋C#Button雙擊事件
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/djidodi.html


咨詢
建站咨詢
