我想重复一个动作Button
长时间按下,例如 MP3 阅读器的前进按钮。 WinForm 中是否存在现有的 c# 事件?
我可以处理MouseDown
启动一个计时器的事件,该计时器将执行该操作并停止MouseUp
事件,但我正在寻找一种更简单的方法来解决这个问题=>即:一个没有Timer
(或线程/任务...)。
更新:最短路线:
Using Anonymous Methods and Object Initializer
:
public void Repeater(Button btn, int interval)
{
var timer = new Timer {Interval = interval};
timer.Tick += (sender, e) => DoProgress();
btn.MouseDown += (sender, e) => timer.Start();
btn.MouseUp += (sender, e) => timer.Stop();
btn.Disposed += (sender, e) =>
{
timer.Stop();
timer.Dispose();
};
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)