发 起 拖 放 发起拖放 发起拖放
1.发起拖放
从本窗口发起播放,传递数据给他人
拖放操作可以分解为:按下、拖动
1 MouseDown
:记下初始位置
2 MouseMove
:检查位移,当位移到达一定程度时,认为用户发起了拖拽操作。
this.DoDragDrop(data, effect)
后续过程由系统接管
由本窗口不接受拖放,所以鼠标在本窗口里仍然是阻塞形状
2.拖放的结果
源窗口可以对操作的结果进行检查
DragDropEffects result= this.DoDrdgDrop(transfer, DragDropEffects.All);
if(result == DragDropEffects.Move)
{
}
具体如何处理依照实际情况
1 None :发起拖拽,再按ESC键取消
2 Move :发起拖拽
3 Copy :发起拖拽,同时按住CTRL键