C#中的DragDrop

感觉C#中的Drag模式没有Delphi方便,Delphi中只要将DragMode设置为dmAutoMatic,
就可以随意的拖动,还能放置到其他位置,真爽.但是在C#中位置只能靠Dock控件来实现,
如果拖动数据对象的话,拖动方(Drag Source)写法还很麻烦,主要是对其 的mousedown,
mousemove,和mouseup事件写代码,这里就不写出来了.主要注意两件事情.
1.确定拖动的区域,系统中有一个SystemInformation.Size的变量来表示拖动的区域.
2.必须调用DoDragDrop函数
对接受方而言要注意重写Dragover的事件
1.在DragOver中注意一定要将e.Effect=DragDropEffects.Copy(也可以使DragDropEffects.Move)
  写上,不然DragDrop事件不会发生.

写的比较潦草,可以看源代码

原文地址:https://www.cnblogs.com/wanghualiang/p/224121.html