博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#一个简单下载程序实例(可用于更新)

Posted on 2010-12-10 10:09  Sky_KWolf  阅读(3950)  评论(0编辑  收藏  举报

运行时的界面

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        
        private void button1_Click(object sender, EventArgs e)
        {
            System.Net.WebClient wc=new System.Net.WebClient ();
           //异步下载。。将下载的程序保存在程序bin文件里
            wc.DownloadFileAsync(new Uri("http://dl_dir.qq.com/qqfile/qq/QQ2010/QQ2010SP3.1.exe"),"QQ2010SP3.1.exe");
            wc.DownloadProgressChanged += new System.Net.DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
            wc.DownloadFileCompleted += new AsyncCompletedEventHandler(wc_DownloadFileCompleted);
        }

        void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            //throw new NotImplementedException();
            if (MessageBox.Show("您已经下载成功,是否打开应用程序?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                System.Diagnostics.Process.Start("QQ2010SP3.1.exe");//启动刚下载的程序
                this.Close();
            }
            else
            {
                this.Close(); ;
            }

        }

        void wc_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
        {
            //throw new NotImplementedException();
            progressBar1.Value = e.ProgressPercentage;//将progressbar的值设为下载的百分比
        }
    }
}


这是一个简单的下载程序例子,没写罗货通用的方法了..可以用于检查更新..有兴趣的可以做下..