C# Windows窗体中的鼠标单击事件与下移和上移事件混合

C# Windows窗体中的鼠标单击事件与下移和上移事件混合,c#,winforms,graphics,C#,Winforms,Graphics,我有一个操作,需要我使用鼠标点击、鼠标下键和鼠标上键事件。但是,当鼠标单击事件发生时,将调用鼠标下移和鼠标上移事件。i、 e.他们超越了点击事件。任何关于如何解决这种情况的想法。我必须使用这些事件来完成视口中的操作。 我将Win Forms事件与C#一起使用 首先,为什么要使用这三个事件?您希望这些事件按什么顺序触发 鼠标向下移动 当用户按下鼠标按钮时激发 鼠标悬停 当用户释放鼠标按钮时激发 单击 在同一元素上发生mousedown和mouseup事件时激发 鼠标点击=鼠标向下+鼠标向上 因此,

我有一个操作,需要我使用鼠标点击、鼠标下键和鼠标上键事件。但是,当鼠标单击事件发生时,将调用鼠标下移和鼠标上移事件。i、 e.他们超越了点击事件。任何关于如何解决这种情况的想法。我必须使用这些事件来完成视口中的操作。
我将Win Forms事件与C#一起使用

首先,为什么要使用这三个事件?您希望这些事件按什么顺序触发

鼠标向下移动 当用户按下鼠标按钮时激发

鼠标悬停 当用户释放鼠标按钮时激发

单击 在同一元素上发生mousedown和mouseup事件时激发

鼠标点击=鼠标向下+鼠标向上


因此,如果您的表单中包含所有三个事件,则所有事件都将被激发。

好的,单击鼠标,我将在视口中选择一条线。。。。再次鼠标向下移动时,我必须选择起点或终点并允许拖动。我用鼠标移动来做这个。最后,在mouseup上,我必须将线路的起点或终点更新到新的位置。我该怎么做呢?您试图让一个用户操作做得太多了,您不能用一个鼠标操作来选择线、拖动线和更改线的端点。这方面的标准UI解决方案就是您在Winforms designer中看到的。可以在直线端点上绘制拖曳操纵柄。如果用户单击拖动控制柄,则他希望移动端点。如果没有,则单击线路,然后他想移动线路。