' استيراد مجال الأسماء المناسب
Imports System.Net
Public Class Form1
' تعريف متغير عميل ويب
Private WithEvents WebCli As New WebClient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' كود تحميل الملف بشكل لامتزامن
' TextBox1 يحتوي على مسار الملف الكامل على الويب
' TextBox2 يحتوي على المسار الكامل الذي نريد تخزين الملف فيه على الحاسب
WebCli.DownloadFileAsync(New Uri(Me.TextBox1.Text), Me.TextBox2.Text)
End Sub
' حدث اكتمال تحميل الملف
Private Sub WebCli_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebCli.DownloadFileCompleted
MsgBox("Download Completed")
End Sub
' حدث إظهار مؤشر التقدم
Private Sub WebCli_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebCli.DownloadProgressChanged
Me.ProgressBar1.Value = e.ProgressPercentage
Me.Label1.Text = e.BytesReceived
Me.Label2.Text = e.TotalBytesToReceive
Me.Refresh()
End Sub
End Classالمشكلة التي واجهتني هي موضوع withEvents التي ليس لها مقابل في #C وعندما جربت أدوت التحويل على النت أعطتني كود ولكن الكود الناتج لم يطلق الأحداث المفروض انطلاقها عند تقدم وانتهاء التحميل
يرجى تحويل الكود وإرفاق مشروع كمثال يعمل بصورة صحيحة علما بأن الكود يعمل بصورة ممتازة على VB