前段时间做的一个半成品,现把源码放出来给大家敲敲打打,提提意见,找找Bug,最好是谁有兴趣有空闲把它做完美了 :)之所以说是半成品,是指还有以下几部分未完成:
1、断点续传;(方法都在,代码没调好,就先注释掉了)
(就是保存当前下载信息,下次重新读取,最简单的做法就是序列化,要用到的自己改改调调就成)
2、自定义下载窗体;
(就像 MessageBox.Show() 一样,已经做了一个简单的Form)
3、部分细节没做好,可能存在BUG;
(用着,遇到再说) 涉及的一些应用:
多线程 --  没用线程池,因为不好控制状态;
事件驱动 -- 自我感觉不是很好,最好谁能改改;另外,组件的封装也没仔细整理过~期待有人能做个完美的组件。应用范围:文件下载、在线升级
(这个组件就是为了下载升级文件而做的……)
使用示例:(添加DLL引用)List<DTask> DTaskList = new List<DTask>();
foreach ( …… )
{
 DownloadMag.DTask dt = new DTask();
 dt.Name = "任务名";
 dt.FileName = "文件名";
 dt.Size = 文件大小;
 dt.URL = "下载地址";
 dt.CRC32 = CRC32校验值;
 dt.SaveMode = true;
 DTaskList.Add(dt);
}
new DownloadMag.DownloadForm(this).Show(DTaskList.ToArray(), "下载信息文件名");没时间修修改改,所以把这个半成品放出来了,也就当是抛砖引玉吧。
我也不想那天软件升级下载到一半就出问题了~ 
大家有兴趣就帮忙找找Bug下载地址:http://download.csdn.net/source/274988
Bolg文章地址:http://blog.csdn.net/0xff/archive/2007/11/01/1861780.aspx

解决方案 »

  1.   

    下载了,准备结合我的baidu mp3 下载程序,完善他
      

  2.   

    虽然只是一个小组件,但其中涉及了C# WinForm 程序的很多应用 --
    多线程、反射、委托、事件、消息、泛型等等~
    希望大家能谈谈各自对某些应用的独到见解,帮助更多的人走出误区~最终想看到的是,如何才算一个 “优雅而健壮” 的C#程序……另外,对刚接触C#,想了解这些应用技术的朋友也算有个简单的参考~~
    而且,修补完善后,这也算是一个比较简单实用的“即插即用型”组件~
      

  3.   

    下载瞅瞅 3Q LZ 学习
      

  4.   

    可以给一段详细的示例代码吗?
    比如我要在我的项目里引用DownloadMag.dll,然后希望它下载一个名为8571215084941.wav的文件,地址为:http://10.110.0.3/monitor/current/8571215084941.wav
    谢谢大家了!
      

  5.   

    这里有个跨平台的下载库,支持HTTP,FTP,HTTPS,多线程下载,还能在手机上跑,挺强的。
    http://www.easygeteasy.com