c# 托盤雙擊不觸發(fā)單擊事件的實(shí)現(xiàn)方法
更新時間:2009年02月14日 14:22:12 作者:
在開發(fā)winform的時候我發(fā)現(xiàn),當(dāng)執(zhí)行雙擊操作(notifyIcon1_MouseDoubleClick)時,會同時伴隨著單擊事件(notifyIcon1_MouseClick)的發(fā)生。。那如何才能使雙擊事件不觸發(fā)單擊事件呢?
我想到了如下方法,即創(chuàng)建一個Timer控件(以下名為timer_singleclick),一旦單擊發(fā)生,就自動啟動Timer的Tick事件(timer_singleclick_Tick(object sender, EventArgs e)),一定時間后,若沒有第二次點(diǎn)擊發(fā)生,則執(zhí)行單擊事件(Operate_DoubleClick()),若在這段時間有雙擊事件(notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e))發(fā)生,則停止Timer,此時單擊事件就不會發(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)托盤程序并禁止多個應(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# 編寫一個停放在任務(wù)欄上的圖標(biāo)程序
- C#實(shí)現(xiàn)閃動托盤圖標(biāo)效果的方法
相關(guān)文章
C#使用iTextSharp封裝的PDF文件操作類實(shí)例
這篇文章主要介紹了C#使用iTextSharp封裝的PDF文件操作類,實(shí)例分析了C#操作pdf文件的技巧,非常具有實(shí)用價值,需要的朋友可以參考下2015-03-03C#中IDispose接口的實(shí)現(xiàn)及為何這么實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了關(guān)于C#中IDispose接口的實(shí)現(xiàn)及為何這么實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05C#對圖片進(jìn)行馬賽克處理可控制模糊程度的實(shí)現(xiàn)代碼
本文通過實(shí)例代碼給大家介紹了C#對圖片進(jìn)行馬賽克處理可控制模糊程度的實(shí)現(xiàn)方法,代碼超簡單,具有一定的參考借鑒價值,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Unity Shader實(shí)現(xiàn)紋理遮罩效果
這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)紋理遮罩效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-04-04