【发布时间】:2019-02-02 15:16:14
【问题描述】:
我在 form_MouseDown 事件上有一个 Drag() 方法。我在表单上也有一个点击事件。问题是,如果我点击表单,MouseDown 事件会被触发,它永远不会有机会触发点击事件。
解决此问题的最佳方法是什么?如果表单实际上被拖动,我正在考虑计算像素,但必须有更好的方法。有什么建议么?
【问题讨论】:
-
“计数像素”很常见,因为在大多数情况下,您实际上不希望在“移动距离”短于以下时触发 DRAG,例如例如,7..15 像素。连windows的桌面都有这么少的像素阈值。
-
不要使用
Click,而是使用MouseUp? -
我创建了一个演示,但没有出现这种行为。达到 MouseDown Click 后。可以发一些代码吗?
-
也许他还用 Handled=true 'acks' 事件或忘记调用基本实现等?
-
@Neolisk 这将如何解决问题?当用户在拖动后释放鼠标按钮时,
MouseUp事件仍会引发。Click事件实际上只是在MouseDown和MouseUp事件循环之后引发的事件。