按住不放可以在一定时间间隔内重复发生mouserDown事件的按钮。
2013-10-25 09:04
225 查看
按住不放可以在一定时间间隔内重复发送mouserDown事件的按钮。
源代码如下:
请大家正解。
源代码如下:
/// <summary> /// 按住不放可以在一定时间间隔内重复发送mouserDown事件的按钮。 /// </summary> public partial class ReapterButton:Button { #region Attributes private Timer timer; private MouseEventArgs meArgs; #endregion #region Properties /// <summary> /// 计时器初始延迟时间,按钮初次按下与重复事件之间间隔的毫秒数 /// </summary> [DefaultValue(400)] [Category("selfDefine")] [Description("计时器初始延迟时间,按钮初次按下与重复事件之间间隔的毫秒数")] public int InitDelay { get; set; } /// <summary> /// 重复事件之间的事件间隔,单位:毫秒 /// </summary> [DefaultValue(400)] [Category("selfDefine")] [Description("重复事件之间的事件间隔,单位:毫秒")] public int Intervals { get; set; } #endregion #region Construtor public ReapterButton() { InitializeComponent(); timer = new Timer(components); timer.Tick += new EventHandler(timer_Tick); InitDelay = 400; } #endregion #region Methods /// <summary> /// 一定事件间隔后重复触发mouserDown事件.如果事件是初次发生则在delay时间后发生 /// 以后每次迭代的时间间隔为Interva /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void timer_Tick(object sender, EventArgs e) { base.OnMouseDown(meArgs); if (timer.Enabled) { timer.Interval = Intervals; } else { timer.Interval = InitDelay; } timer.Enabled = true; } /// <summary> /// 引发计时器控件,并在Delay时间后初次引发mouserDown事件 /// </summary> /// <param name="mevent"></param> protected override void OnMouseDown(MouseEventArgs mevent) { meArgs = mevent; base.OnMouseDown(mevent); timer.Enabled = false; timer_Tick(this, EventArgs.Empty); } /// <summary> /// 使得计时器失效 /// </summary> /// <param name="mevent"></param> protected override void OnMouseUp(MouseEventArgs mevent) { base.OnMouseUp(mevent); timer.Enabled = false; } #endregion }
请大家正解。
相关文章推荐
- js控制再次点击按钮之间的间隔时间可防止重复提交
- js控制再次点击按钮之间的间隔时间可防止重复提交
- 周期(实现了每天,每周,每月,每年的间隔一定时间重复执行的周期)
- highcharts插件中,在外部点击一个按钮或者别的时间,可以链接highcharts上点击事件
- 一定间隔时间下重复执行一个函数的几个方法
- 屏蔽用户双击按钮产生的后续点击事件重复发生问题
- select重复选择同一项,还可以触发onchange事件
- Android常用控件(按钮事件,Toast,单选复选,时间日期选择框)解析
- Android 编程下的计时器 和 防止按钮重复点击事件
- 【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)
- UIButton小技巧----点击事件时间间隔
- 【java】事件监听——通过点击不同的按钮,让面板的背景色发生相应的变化
- java swing中实现列表中加入单选按钮,单选按钮发生变化时能触发事件
- 禁止按钮在一定时间内连续点击
- JavaScript中让方法延迟指定时间后再执行,以一定时间为间隔循环执行
- C# 定时器事件(设置时间间隔,间歇性执行某一函数,控制台程序)
- onThouch事件判断按钮是否被按住
- iOS - UIButton按钮发生事件
- MySQL提供的可以计算两个时间间隔的函数
- Extjs中一定时间间隔调用方法