2013-05-18 50 views
0

我有一个操作,需要我使用鼠标单击,鼠标下移和鼠标上移事件。但是,鼠标单击事件发生时,正在调用鼠标向下和鼠标向上事件。即他们已经结束点击事件。关于如何解决这种情况的任何想法。我必须使用这些事件才能完成视口中的操作。 我正在用C#使用Win Forms事件。鼠标点击事件混合向下移动Windows窗体中的nd鼠标事件

+0

您试图让一个用户动作做得太多,您不能同时选择该线,拖动*和*用一次鼠标操作更改线的端点。标准UI解决方案就是您在Winforms设计器中使用的解决方案。您可以在线端点上拖动手柄。如果用户点击拖动手柄,那么他想要移动端点。如果没有,点击线路,然后他想要移动线路。 –

回答

1

首先为什么要使用所有三个事件?你希望以什么顺序解雇这些事件?

mousedown 当用户按下鼠标按钮时触发。

mouseup 当用户释放鼠标按键时触发。

click 当mousedown和mouseup事件发生在同一元素上时触发。

鼠标点击=鼠标按下+鼠标释放

所以肯定,如果你有所有三个事件在窗体所有的人将被解雇。

+0

那么,在鼠标点击,我在ViewPort ....中选择一条线。再次,在MouseDown,我必须选择开始或结束点,并允许拖动。我使用鼠标移动这个。最后OnMouseUp,我必须更新行的开始或结束点到它的新位置。我该如何解决它? –