附上源码:[Downlink href=”http://www.phpstu.com/wp-content/uploads/2016/02/文件计算器.zip”]文件计算器.zip[/Downlink]
可能是我太小心了,总感觉去 网上下载那些 计算软件 不安全,就自己写一个,主要用到的是
System.Security.Cryptography 命名空间下的
MD5CryptoServiceProvider 类 和 SHA1CryptoServiceProvider 类。
以及空间接受拖拽过来的文件/文本等
接受拖拽实现过程
1.打开控件的AllowDrop 为 true
只有为TRUE的时候才会触发 相关事件
2.增加DragDrop 和 DragEnter 事件
这里出现一个问题,我想的是把文件拖过来放开鼠标后再开始计算,但是发现文件拖过来就触发DragEnter事件,这和想的不一样,通过查找资料找到 DragDrop事件
在DragEnter 中增加 e.Effect = DragDropEffects.All; 解决
3.接收拖过来的数据
string fileName = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
这里可以同时拖过来多个文件,我是只取出第一个;上面的方法可以查看 DragEventArgs 事件参数 https://msdn.microsoft.com/library/system.windows.forms.drageventargs(v=vs.100).aspx
在接受之前需要判断用户拖过来的类型,可能是文本(一段文字) 也可能是文件 或者文件夹。
判断方法:e.Data.GetDataPresent(DataFormats.FileDrop) 返回bool
可以查看接口IDataObject https://msdn.microsoft.com/library/system.windows.forms.idataobject(v=vs.100).aspx
相关类:
DataFormats https://msdn.microsoft.com/library/system.windows.forms.dataformats(v=vs.100).aspx
未经允许不得转载:开心乐窝-乐在其中 » c#版文件MD5值和SHA1值计算