我想捕捉用户在 C# 控件上单击并按住鼠标的事件。
我在 MSDN 上阅读过,我只看到事件 Mouse Down,Mouse Up,......但没有 Move Hold 事件。
您需要使用mentinoed 事件,它们之间有一些计时器。
例子:
如果用户持有的时间超过计时器时间 - 调用您的事件处理程序,当 mouseUp 发生得比计时器快时 - 禁用运行的计时器。
首先,您应该使用秒表来检测您想要的时间。
using System.Diagnostics;
其次,定义一个秒表类的全局实例。
Stopwatch s = new Stopwatch();
这是您应该使用的第一个事件:
private void controlName_MouseDown(object sender, MouseEventArgs e)
{
s.Start();
}
这是您应该使用的第二个事件:
private void controlName_MouseUp(object sender, MouseEventArgs e)
{
s.Stop();
//determine time you want . but take attention it's in millisecond
if (s.ElapsedMilliseconds <= 700 && s.ElapsedMilliseconds >= 200)
{
//you code here.
}
s.Reset();
}