c# 托盘双击不触发单击事件的实现方法

 更新时间:2009年02月14日 14:22:12   作者:  
在开发winform的时候我发现,当执行双击操作(notifyIcon1_MouseDoubleClick)时,会同时伴随着单击事件(notifyIcon1_MouseClick)的发生。。那如何才能使双击事件不触发单击事件呢?
我想到了如下方法,即创建一个Timer控件(以下名为timer_singleclick),一旦单击发生,就自动启动Timer的Tick事件(timer_singleclick_Tick(object sender, EventArgs e)),一定时间后,若没有第二次点击发生,则执行单击事件(Operate_DoubleClick()),若在这段时间有双击事件(notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e))发生,则停止Timer,此时单击事件就不会发生了。。

具体实现代码见下:
复制代码 代码如下:

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#使用iTextSharp封装的PDF文件操作类实例

    C#使用iTextSharp封装的PDF文件操作类实例

    这篇文章主要介绍了C#使用iTextSharp封装的PDF文件操作类,实例分析了C#操作pdf文件的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • C#中IDispose接口的实现及为何这么实现详解

    C#中IDispose接口的实现及为何这么实现详解

    这篇文章主要给大家介绍了关于C#中IDispose接口的实现及为何这么实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-05-05
  • C#中enum和string的相互转换

    C#中enum和string的相互转换

    这篇文章主要介绍了C#中enum和string的相互转换的相关资料,需要的朋友可以参考下
    2017-09-09
  • WPF通过线程使用ProcessBar的方法详解

    WPF通过线程使用ProcessBar的方法详解

    这篇文章主要给大家介绍了关于WPF通过线程使用ProcessBar的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用WPF具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • C#对图片进行马赛克处理可控制模糊程度的实现代码

    C#对图片进行马赛克处理可控制模糊程度的实现代码

    本文通过实例代码给大家介绍了C#对图片进行马赛克处理可控制模糊程度的实现方法,代码超简单,具有一定的参考借鉴价值,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • C#委托现实示例分析

    C#委托现实示例分析

    这篇文章主要介绍了C#委托现实,实例分析了C#委托的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 深入C#判断操作系统类型的总结详解

    深入C#判断操作系统类型的总结详解

    本篇文章是对在C#中判断操作系统类型的总结进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#实现串口调试工具

    C#实现串口调试工具

    这篇文章介绍了C#实现串口调试工具的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#双缓冲实现方法(可防止闪屏)

    C#双缓冲实现方法(可防止闪屏)

    这篇文章主要介绍了C#双缓冲实现方法,结合实例形式分析了C#双缓冲的具体步骤与相关技巧,可实现防止闪屏的功能,需要的朋友可以参考下
    2016-02-02
  • Unity Shader实现纹理遮罩效果

    Unity Shader实现纹理遮罩效果

    这篇文章主要为大家详细介绍了Unity Shader实现纹理遮罩效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04

最新评论