关于拖放的问题
实现要求:把一个标签拖放到窗体外,用户释放鼠标时执行自定义操作
问题:如何得知用户在窗体外释放了鼠标,会引发什么事件?

解决方案 »

  1.   

    这里给点参考
    http://blog.csdn.net/fht123/
      

  2.   

    判断定点坐标应该可以,拖动的时候会触发事件,或者用鼠标的事件。通过判断你的point是否在主窗体内就好了,主窗体不是有 location 和seize吗
      

  3.   

    xiaoniao2636(编程小鸟) :
    你的思路是通过捕捉鼠标事件来实现(模拟)拖放的操作
    而不是通过控件本省的拖放功能来实现的吧?
      

  4.   

    当用户拖拽Item到控件外的Form上的时候,OnLostFocus 和 OnDragLeave 被调用。参考:
    http://bbs.msproject.cn/default.aspx?g=posts&t=246
    http://bbs.msproject.cn/default.aspx?g=posts&t=299
      

  5.   

    可以使用ClientRectangle来判断就可以了,比如:
    protected override void OnMouseMove(MouseEventArgs e)
    {
    base.OnMouseMove(e);
    if (this.Capture)
    {
    if (!this.ClientRectangle.Contains(e.Location))
    {
    MessageBox.Show(this, "移出了");
    }
    }
    }