C#界面里的AllowDrop属性、DragDrop和DragEnter事件
在软件开发里,使用到拖放功能的还是比较少见一些,因为开发的难度比较大,并且大家也不太熟悉,
但是使用起来就比较方便。
比如开发一个上传的软件,一般情况会让用户打开一个窗口选择上传的文件。
如果有这样一个功能,可以让用户直接拖文件到窗口,就给上传, 这样就会更加方便。
要实现这样的功能,就得理解拖放功能启用,以及拖放的事件响应。
当一个文件从一个窗口拖动到另一个窗口的过程,需要经历几个状态,第一个就是原窗口里拖动时,显示为一个拖动的图标,
接着拖动的过程中碰到另一个窗口时,就需要响应拖动进入事件,如果没有这个事件,
这个窗口就会显示为普通的鼠标。所以要实现拖动进入DragEnter事件,这时就把鼠标修改为我们需要显示的图标。
最后拖动到窗口指定位置了,就需要松开鼠标,这时会触发另外一个事件DragDrop。
在最后的事件里,就需要根据拖动过来的文件是什么类型作出响应了。比如处理图片类型的,就判断是否
为图片类型,如果是就打开它,否则拒绝执行。
下面的例子,就把窗口AllowDrop的修改为true,打开允许拖放。
然后响应后面两个事件,就完成了。
具体代码参考如下:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using Sys