因为要拖拽pictureBox,我接管了控件的mousedown事件。
现在的问题,怎么能区分单击和双击控件的事件呢?
我尝试在mouseup中,设置了定时器,可是导致了单击也有了延时。请问怎么做?谢谢!

解决方案 »

  1.   

    拖拽的时候, 希望被拖拽pictureBox的图跟着鼠标跑,如何写啊?
      

  2.   

    int x=0,y=0;//x,y当前鼠标坐标值
    public override OnMouseDown(MouseEvnet e)
    {
       x=e.x;
    y=e.y;
    }
    public override OnMouseMove(MouseEvnet e)
    {
       int curx=e.x;
       int cury=e.y;
       int difx=curx-x;
       int dify=cury-y;
       //移动图片
    }
      

  3.   

    在MouseDown的事件参数e里有一个Clicks属性,这个就是鼠标点击的次数,如果是2则为双击过了.
      

  4.   

    那就继承
    public override OnMouseDown()
    public override OnMouseUp()吧;
    要区分双击再继承
    public override OnMouseDoubleClick()
      

  5.   

    mouseDown中要做什么事?需要区分click和DoubleClick?如果是拖拽的话,好像不需要吧。?mouseDown设置鼠标被按下标志
    mouseUp取消鼠标被按下标志
    mouseMove判断鼠标被按下标志,根据鼠标位置移动pictrueBox
      

  6.   

    双击的时候,我需要能进入编辑态。所以需要拦截。
    问个问题阿阿,我想拖拽的时候,能有被拖动的图跟着鼠标跑。
    所以我在拖拽开始是,新建了一个picturebox b。然后在onmousemove里,调整b的位置。
    可是为啥只有开始有图出现,然后就没有图跟着鼠标了?
      

  7.   

    双击不是有双击事件么?估计是你的鼠标后来是在你后来的pictureBox b上移动,所以不能出发MouseMove 事件,所以图不能跟着鼠标。
    你得让b的位置离开点鼠标,比如位置是鼠标的left,top +1