c# 托盤雙擊不觸發(fā)單擊事件的實(shí)現(xiàn)方法
更新時(shí)間:2009年02月14日 14:22:12 作者:
在開發(fā)winform的時(shí)候我發(fā)現(xiàn),當(dāng)執(zhí)行雙擊操作(notifyIcon1_MouseDoubleClick)時(shí),會(huì)同時(shí)伴隨著單擊事件(notifyIcon1_MouseClick)的發(fā)生。。那如何才能使雙擊事件不觸發(fā)單擊事件呢?
我想到了如下方法,即創(chuàng)建一個(gè)Timer控件(以下名為timer_singleclick),一旦單擊發(fā)生,就自動(dòng)啟動(dòng)Timer的Tick事件(timer_singleclick_Tick(object sender, EventArgs e)),一定時(shí)間后,若沒有第二次點(diǎn)擊發(fā)生,則執(zhí)行單擊事件(Operate_DoubleClick()),若在這段時(shí)間有雙擊事件(notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e))發(fā)生,則停止Timer,此時(shí)單擊事件就不會(huì)發(fā)生了。。
具體實(shí)現(xiàn)代碼見下:
int click = 1;
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) //雙擊托盤彈出
{
timer_singleclick.Enabled = false;
Operate_DoubleClick();
}
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) //單擊托盤彈出
{
if (e.Button == MouseButtons.Left) timer_singleclick.Enabled = true;
}
private void timer_singleclick_Tick(object sender, EventArgs e)
{
click = click + 1;
if (click == 5)
{
Operate_Click();
timer_singleclick.Enabled = false;
click = 1;
}
}
private void Operate_DoubleClick()
{
//這里為雙擊的操作代碼
}
private void Operate_Click()
{
//這里為單擊的操作代碼
}
具體實(shí)現(xiàn)代碼見下:
復(fù)制代碼 代碼如下:
int click = 1;
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) //雙擊托盤彈出
{
timer_singleclick.Enabled = false;
Operate_DoubleClick();
}
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) //單擊托盤彈出
{
if (e.Button == MouseButtons.Left) timer_singleclick.Enabled = true;
}
private void timer_singleclick_Tick(object sender, EventArgs e)
{
click = click + 1;
if (click == 5)
{
Operate_Click();
timer_singleclick.Enabled = false;
click = 1;
}
}
private void Operate_DoubleClick()
{
//這里為雙擊的操作代碼
}
private void Operate_Click()
{
//這里為單擊的操作代碼
}
您可能感興趣的文章:
- C#實(shí)現(xiàn)托盤程序并禁止多個(gè)應(yīng)用實(shí)例運(yùn)行的方法
- C#實(shí)現(xiàn)系統(tǒng)托盤通知的方法
- C#程序最小化到托盤圖標(biāo)操作步驟與實(shí)現(xiàn)代碼
- C# WinForm窗口最小化到系統(tǒng)托盤
- C#怎樣才能實(shí)現(xiàn)窗體最小化到托盤呢?
- C#中如何獲取文件圖標(biāo)
- C#實(shí)現(xiàn)用戶自定義控件中嵌入自己的圖標(biāo)
- C#實(shí)現(xiàn)帶消息數(shù)的App圖標(biāo)
- C#禁用雙擊窗體圖標(biāo)關(guān)閉窗體的方法
- C#實(shí)現(xiàn)WinForm禁止最大化、最小化、雙擊標(biāo)題欄、雙擊圖標(biāo)等操作的方法
- C#實(shí)現(xiàn)位圖轉(zhuǎn)換成圖標(biāo)的方法
- 用 C# 編寫一個(gè)停放在任務(wù)欄上的圖標(biāo)程序
- C#實(shí)現(xiàn)閃動(dòng)托盤圖標(biāo)效果的方法
相關(guān)文章
C#實(shí)現(xiàn)Excel轉(zhuǎn)PDF時(shí)設(shè)置內(nèi)容適應(yīng)頁(yè)面寬度
將Excel轉(zhuǎn)為PDF格式時(shí),通常情況下轉(zhuǎn)換出來(lái)的PDF頁(yè)面都是默認(rèn)的寬度大小。所以本文提供了C#實(shí)現(xiàn)Excel轉(zhuǎn)PDF時(shí)設(shè)置內(nèi)容適應(yīng)頁(yè)面寬度的示例代碼,需要的可以參考一下2022-04-04
DevExpress設(shè)置FocusedNode背景色的方法
這篇文章主要介紹了DevExpress設(shè)置FocusedNode背景色的方法,很實(shí)用的功能,需要的朋友可以參考下2014-08-08
C#使用Win32?Api實(shí)現(xiàn)進(jìn)程注入到wechat的過(guò)程
這篇文章主要介紹了C#使用Win32?Api實(shí)現(xiàn)進(jìn)程注入到wechat,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫(kù)操作類,結(jié)合完整實(shí)例形式分析了C#針對(duì)access數(shù)據(jù)庫(kù)增刪改查、事務(wù)、結(jié)果處理等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
C#將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet
這篇文章主要介紹了C#將Excel中的數(shù)據(jù)轉(zhuǎn)換成DataSet的方法,非常簡(jiǎn)單實(shí)用,從本人項(xiàng)目中提取出來(lái)的,推薦給大家,希望對(duì)大家學(xué)習(xí)C#能夠有所幫助。2015-03-03
C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法
這篇文章主要介紹了C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法,涉及C#操作COM組件讀取Doc、Docx及Pdf文檔的相關(guān)技巧,需要的朋友可以參考下2015-05-05

