我想捕捉用戶單擊並將鼠標放在C#中的控件上的事件。如何捕捉事件Mouse Hold on a control?
我已閱讀MSDN,我只看到事件Mouse Down,Mouse Up,...但沒有Move Hold事件。
我想捕捉用戶單擊並將鼠標放在C#中的控件上的事件。如何捕捉事件Mouse Hold on a control?
我已閱讀MSDN,我只看到事件Mouse Down,Mouse Up,...但沒有Move Hold事件。
首先,您應該使用秒錶來檢測您想要的時間。
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();
}
該解決方案對於創建鼠標暫停事件並不合適。如果用戶按住鼠標一段時間,但只有在釋放鼠標之後才能解決問題。那太晚了。如果用戶將鼠標停下一小時,該怎麼辦?什麼都沒發生。這是一個糟糕的用戶體驗。 – Enigmativity
這取決於你想要做什麼..如果你不想確定一個特定的時間,你可以更改如果語句或刪除它.. –
http://stackoverflow.com/questions/6623775/ c-sharp-hold-down-mouse-event –