آموزش ساخت دانلود منیجر در #C
سلام … در این مطلب آموزشی سی شارپ ، یاد میگیرید که یک برنامه ی دانلود منیجر رو بسازید که قابلیت افزودن آدرس و Download و Save رو داشته باشه.
خب ابتدا سعی کنید فرمی شبیه به تصویر زیر با 2 دکمه و 2 تکست باکس و یک peogress bar و 2 label بسازید:
سپس فضای نام using System.Net; به برنامه تان اضافه کنید.
سپس در رویداد کلیک دکمه ی 1 که همان دکمه ی دانلود است کدهای زیر را وارد کنید:
// چک کردن اینکه تکست باکس 2 خالی است یا نه و اگر خالی بود به کاربر پیغام دهد که "لطفا یک مسیر را برای ذخیره ی فایل انتخاب کنید" و اگرخالی نبود و کاربر مسیری را انتخاب کرده بود ، بقیه متدهای مربوط به دانلود فایل اجرا شوند.
if (textBox2.Text == String.Empty)
{
MessageBox.Show("لطفا یک مسیر را برای ذخیره ی فایل انتخاب کنید");
}
else
{
WebClient Download_Client = new WebClient();//Declaring the webclient as Download_Client
// DownloadFileCompleted موقعی رخ می دهد که عملیات دانلود ناهمزمان کامل و تمام شود.
Download_Client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);//the event handler
// Occurs when an asynchronous download operation successfully transfers some or all of the data
Download_Client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);// " "
// Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.
Download_Client.DownloadFileAsync(new Uri(textBox1.Text.Trim().ToString()), textBox2.Text.Trim());// " "
}
if (textBox2.Text == String.Empty)
{
MessageBox.Show("لطفا یک مسیر را برای ذخیره ی فایل انتخاب کنید");
}
else
{
WebClient Download_Client = new WebClient();//Declaring the webclient as Download_Client
// DownloadFileCompleted موقعی رخ می دهد که عملیات دانلود ناهمزمان کامل و تمام شود.
Download_Client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);//the event handler
// Occurs when an asynchronous download operation successfully transfers some or all of the data
Download_Client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);// " "
// Downloads, to a local file, the resource with the specified URI. This method does not block the calling thread.
Download_Client.DownloadFileAsync(new Uri(textBox1.Text.Trim().ToString()), textBox2.Text.Trim());// " "
}
سپس این کدها را در محیط کدنویسی وارد کنید که مربوط به رویداد ProgressChanged می باشند:
// Provides data for the DownloadProgressChanged event of a WebClient
//DownloadProgressChanged همانی است که در تکه کد قبلی آورده شد
// اطلاعات بیشتر درباره ی DownloadProgressChangedEventArgs :
// http://yon.ir/EMeta //
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
// نمایش پیغام دانلود موفقیت آمیز با استفاده از MessageBox
//DownloadProgressChanged همانی است که در تکه کد قبلی آورده شد
// اطلاعات بیشتر درباره ی DownloadProgressChangedEventArgs :
// http://yon.ir/EMeta //
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
// نمایش پیغام دانلود موفقیت آمیز با استفاده از MessageBox