16/08/2019, 15:20

[C# - VB.NET] Download async multiple files và hiển thị trên ListView winform

Xin chào các bạn bài viết hôm nay mình sẽ chia sẽ đến các bạn bộ source code download file bất đồng bộ (Async) và hiển thị danh sách trên ListView C# và VB.NET . Hôm trước, mình có đi lòng vòng trên mạng thì mình tìm thấy một bộ source code dùng để download ...

Xin chào các bạn bài viết hôm nay mình sẽ chia sẽ đến các bạn bộ source code download file bất đồng bộ (Async) và hiển thị danh sách trên ListView C# và VB.NET.

Hôm trước, mình có đi lòng vòng trên mạng thì mình tìm thấy một bộ source code dùng để download nhiều file bất đồng bộ rất hay và được viết bằng ngôn ngữ VB.NET.

Và mình đã convert project từ VB.NET sang C#, để bạn nào có nhu cầu sử dụng tiện để tham khảo.

Trong giao diện hỗ trợ cho chúng ta các chức năng sau:

  1. Thêm file download (Add file)
  2. Dừng download (Pause)
  3. Khôi phục download (Resume)
  4. Xóa file ra khỏi danh sách download (delete)

Mỗi file download sẽ hiển thị cho chúng ta đầy đủ các thông tin về tiến trình download như:

  1. Kích thước file đang download
  2. Tình trạng đang download
  3. Số Byte đang download.
  4. Tốc độ download của file
  5. Thời gian hoàn thành
  6. Thời gian đã download

Mình giới thiệu giao diện phần mềm download file with listview mình đã convert xong:

download_file_with_listview

Trong source code bạn download về xong, các bạn copy hai file sau vào project của mình: DownloadFileAsyncExtended.cs và ListViewExtended.cs.

Sau khi chạy ứng dụng lên, các bạn sẽ thấy bên Toolbox sẽ có thêm mới công cụ ListViewExtended để các bạn sử dụng.

Tiếp theo, các bạn kéo component đó vào project của mình như hình bên dưới:

download_file_listview

Và khi các bạn download các bạn chỉ cần gọi hàm sau để ứng dụng bắt đầu tiến hình download:

public void btnAddNewDownload_Click(System.Object sender, System.EventArgs e)
{

  
	string strURL = "";
	string strFileName = "";
	string strSavePath = "";
	
	using (FormNewDownload frm = new FormNewDownload())
	{
		//// Show Add New Download dialog and get result.
		if (frm.ShowDialog() == DialogResult.OK)
		{
			strURL = frm.TextBoxURL.Text.Trim();
			strFileName = frm.TextBoxFilename.Text.Trim();
			strSavePath = frm.TextBoxBrowse.Text.Trim();
			//// Start the download.
			ListViewEx.StartDownload(strURL, Path.Combine(strSavePath, strFileName));
		}
	}
	
}

Và dưới đây là Video demo ứng dụng:

Trong source code bên dưới, mình cung cấp cho các bạn source code đầy đủ của hai ngôn ngữ VB.NET và C#.

Ngôn ngữ VB.NET là bản gốc, còn bản C# là bản mình chuyển đổi từ VB.NET sang C#.

Hy vọng bộ thư viện này sẽ giúp ích được cho các bạn trong công việc download file từ website về.

Thanks for watching, Like and share if you want!

DOWNLOAD SOURCE

Tags: donwload file c#donwload multiple files c#download file vb.netlistview winform c#download async file c#
0