DataGridView到DataGridView的拖拽的例子

遇到了一个问题,需要将DataGridView的一行拖到另一个DataGridView中。搜索了一下,找到了风卷残云的文章C#如何实现DataGridView到DataGridView的拖拽。写的很详细。

由于当时手头的程序比较麻烦,Datagridview有好几个,遇到了一点问题,最后为了narrow down问题所在,根据风卷残云的文章做了个小例子。通过这个小例子的实验,不但完成了功能,还通过这改改,那改改的学到了一点东西。把例子放在这里,如果大家遇到了同样的问题,希望这个例子程序能最快速的帮助你解决掉。

在做拖拽的时候,如果鼠标没有变成下图的样子,说明可能没有实现mousedown事件。

1

如果在目标Grid上,鼠标没有变成下图的样子,说明可能没有设置AllowDrop属性为true。

2

点击下载例子

另外,DragDrop, DragOver, DragLeave, DragEnter看起来不太容易区分。MSDN解释如下:

DragDrop事件:在drag-and-drop操作结束之后触发。

DragEnter事件:拖拽到另一个控件之上的时候,那么这个控件的DragEnter事件被触发。

DragOver事件:拽了半天,最后还留在那个开始拖拽的控件上的时候,DragOver事件被触发。

DragLeave事件:当你拖拽的时候,一旦离开这个控件的范围,这个事件被触发。

是不是清楚些了?

更多信息可以参考:

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dodragdrop.aspx

原文地址:https://www.cnblogs.com/awpatp/p/1594167.html