触发C#Button的双击事件
在C#中,Button是有DoubleClick事件的,只是它没有出现在事件列表中,而且.net也是把这个事件给"屏蔽"掉了,无论你双击一个按钮怎么快,也不会触发这个事件。
为了能够触发Button的双击事件,我们可以重载MouseDown事件,记录每次鼠标按下的时间,如果两次点击的时间足够近的话,就触发一次双击方法。
这样也大致能够达到双击的效果,我所采用的方法其实和这个类似,是继承Button类,重载Button类的Click事件,在Click事件中判断两次点击的时间,如果近的话,就触发双击事件。废话少说,上代码:
//======================================================================
//
// Copyright (C) 2007-2008 杭州石鼓文信息科技有限公司
// All rights reserved
//
// filename :ButtonEx
// description :
//
// created by 叶进 at 10/13/2008 15:38:24
// http://adaiye.cnblogs.com
//
//======================================================================
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;
}
}
}
这样,就可以为创建的ButtonEx按钮添加DoubleClick事件了:
button.DoubleClick += new EventHandler(Button_DoubleClick); // 双击按钮事件
触发C#Button的双击事件相关推荐
- 解决JS双击事件dblclick触发时,同时会执行click事件中的语句
双击dblclick事件,同时会执行click事件中的语句,当需要为一个元素同时添加这两个事件时,显然这不是我们想要的结果,举个实例,在最近做的canvas开发中使用鼠标画区域,鼠标单击一下开始画,鼠 ...
- 双击事件(dblclick)时,不触发单击事件(click) 1
事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click).即一个标签元素(如button等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击 ...
- js按钮触发网页提醒_js触发asp.net的Button的Onclick事件应用
在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制的麻烦. asp.net带来便利的同时,也带来一个问题.在实际 ...
- 【WPF】代码触发Button点击事件
先定义Button按钮并绑定事件. public void test() {Button btn = new Button();btn.Click += Btn_Click; }private voi ...
- JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件
js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突. 我们加一个延迟时间就能很好的解决这个问题. 原理: 当接收到第一个点击时,我们先把单击事件存储在这个是全局变量 ...
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click).即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那 ...
- Asp.Net回车键触发Button的OnClick事件解决方案
在aspx页面有textbox文本框,还有三个button按钮.启用textbox的TextChanged事件和button的click事件. 问题: 现在在textbox文本框输入完数据按" ...
- js触发asp.net的Button的Onclick事件
在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制 的麻烦. asp.net带来便利的同时,也带来一个问题.在实 ...
- C#之敲击回车键触发Button的Click事件
C#之敲击回车键触发Button的Click事件 在做项目时,需要在TextBox控件中输入指令,点击Button后将指令传给下位机.为了简化操作,想直接敲击回车键实现Button的Click事件来发 ...
- java 双击触发事件_java鼠标双击事件怎么实现
很多人都学习过java,但是你知道java鼠标双击事件怎么实现吗,跟着学习啦小编一起学习ava鼠标双击事件. java鼠标双击事件的实现方法 鼠标的单双击事件在很多时候对我们帮助很大,但是在JAVA中 ...
最新文章
- camera raw 滤镜预设_Camera Raw中利用预设实现批量化调色,PS这款滤镜真的很好用...
- DNN 4.6.2的中文语言包
- 等价关系和等价类_确定Java等价性的新时代?
- Sencha Architect 2 的使用
- linux权限介绍,Linux的权限介绍
- 2012,新的一年,新的开始
- android 条码扫描控件,Android Zxing条码扫描自定义控件(附代码)
- QTP统计页面加载时间
- matlab函数表达式里分号_matlab中分号、冒号、逗号等常用标点符号的功能和用法总结...
- 矩阵A的值域空间和其零空间
- 推荐几个常用的Python扩展工具包
- An unexpected error prevented the server from fulfilling your request. (HTTP 500)
- bcdedit删除引导_Bcdedit命令教程以及用于编辑Windows引导配置的示例
- C++之定义动态二维数组
- Hexo sakura整理
- Fw:[一恒茶社] 作为大学教师,我 感到羞耻??教师节有感及其他[转贴]
- 台式计算机内存是什么意思,内存频率是什么意思 电脑内存的工作频率是什么...
- 基于AI视觉技术构建柔性生产数字化车间
- 简历被肆意贩卖,个人信息安全何在?
- Python 列表(list)
热门文章
- Scrapy框架之日志等级
- Java多线程和并发(一),进程与线程的区别
- 南海区行政审批管理系统接口规范v0.3(规划) 5.投资项目联合审批系统API 5.1.【uploadFile】证件文书附件上传...
- 手淘适配-flexible
- vue项目下,webpack.js/package.json配置
- MR室内室外用户区分
- HDU 2444 The Accomodation of Students (二分图最大匹配+二分图染色)
- ie7span标签float换行悬浮
- 海洋工作室——网站建设专家:只有十句话,看了十分钟(完整版)[不应该只看十分钟!!!]...
- ArcGIS 9.3 For JavaScript API 学习笔记