我有一個可垂直拖動的標籤頁內的用戶控件。該控件也是可選的。我希望用戶能夠點擊該項目來選擇它,但我不希望MouseClick事件在完成拖動時觸發 - 只有MouseUp事件應該觸發。 IE瀏覽器。用戶完成拖動後不應選擇該項目。有什麼建議?MouseMove後防止MouseClick事件
1
A
回答
0
嘗試在拖動時使用等於true的拖動布爾值,然後在短暫計時器運行後將其關閉。這樣,您可以在MouseClick事件中添加if語句以查看它是否最近被拖動。
1
我假設這是WinForms。
當你說你有一個用戶控件時,你的意思是你有一個從UserControl
派生的類嗎?在這種情況下,您可以覆蓋OnMouseClick
方法,而不是呼叫base.OnMouseClick(e)
,這將阻止MouseClick
開火。
像SAMHI建議,您可以使用在拖動開始時設置爲true
一個布爾值,一旦OnMouseClick
被調用,您可以在布爾值設置爲false,允許鼠標點擊拖動完成後發生。
例子:
public class MyUserControl : UserControl
{
bool dragging = false;
// ...
protected override void OnMouseClick(MouseEventArgs e)
{
if (dragging)
{
// We've finished dragging, don't call MouseClick
dragging = false;
return;
}
// Not dragging, fire MouseClick
base.OnMouseClick(e);
}
}
相關問題
- 1. 防止在MouseDown後發生MouseUp/MouseClick
- 2. HTML5 canvas/jquery mousemove + mouseclick event
- 3. MouseClick事件
- 4. 防止touchmove觸發mousemove?
- 5. MouseMove事件可以防止ComboBox被「打開」
- 6. 如何防止ScrollViewer處理後代的MouseMove事件? (Silverlight的用於Windows電話)
- 7. 防止事件
- 8. 如何在bash中獲取MouseMove和MouseClick?
- 9. 如何正確停止mousemove事件?
- 10. 「鬼」 MouseMove事件
- 11. Angular Mousemove事件
- 12. 如何防止dragend後的touchend事件?
- 13. css防止事件
- 14. 返回事件虛假防止事件存在的事後
- 15. WPF TabItem元素MouseClick事件
- 16. 關於Gotfocus和MouseClick事件
- 17. 管理mousever和mouseclick事件
- 18. WPF在CaptureMouse()後不發送MouseMove事件;
- 19. 模擬mousemove事件
- 20. 的Silverlight:如何防止路由從兒童帆布mouseMove事件其父帆布
- 21. mousedown&mouseup事件後,防止點擊事件
- 22. 防止碰撞事件發生後的按鍵事件:
- 23. 如何在調用mouseMove事件的preventDefault後調用mouseup事件?
- 24. Angular - 防止事件循環?
- 25. Javascript:防止keyUp事件
- 26. 防止關鍵事件
- 27. 防止button_click事件在c#
- 28. jquery點擊事件防止
- 29. 防止事件上的flexcroll
- 30. hslider防止鍵盤事件
您是否使用WPF或ASP.NET?你可以請你展示你的事件處理程序嗎? – fenix2222