Аналог VB.net-кода для c#
Формулировка задачи:
Добрый день! Я нашел небольшой код, который позволяет видеть процесс копирования файла в progressBar. Но к сожалению, данный код написан на vb.net, который я не знаю. Может ли кто-нибудь правильно переписать данный код на c#, чтобы он работал?
Imports System.Net Imports System.IO Public Class Form1 WithEvents WC As New WebClient Dim UrlFile As Uri = New Uri("D:\Hard\1.msi") Dim Leng As Long Public Sub New() ' Этот вызов необходим конструктору форм Windows. InitializeComponent() Dim FI As FileInfo = New FileInfo(UrlFile.LocalPath) Leng = FI.Length End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WC.DownloadFileAsync(UrlFile, "D:\1.msi") End Sub ' Процедура "копирования" Sub DPC(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WC.DownloadProgressChanged ProgressBar1.Maximum = Leng \ 1024 ' Max ProgressBar1.Value = e.BytesReceived \ 1024 ' Value Text = e.BytesReceived \ 1024 & " Кб" ' KbReceived End Sub ' Копирование завершено Private Sub DFC(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WC.DownloadFileCompleted If e.Error Is Nothing Then MsgBox("OK") Else MsgBox(e.Error) End If End Sub
Решение задачи: «Аналог VB.net-кода для c#»
textual
Листинг программы
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; using System.IO; using System.Net; namespace WindowsFormsApplication2 { public partial class Form1 : Form { WebClient WC = new WebClient(); Uri UrlFile = new Uri(@"D:\Hard\1.msi"); long Leng; public Form1() { InitializeComponent(); FileInfo FI = new FileInfo(UrlFile.LocalPath); Leng = FI.Length; WC.DownloadProgressChanged+=new DownloadProgressChangedEventHandler(WC_DownloadProgressChanged); WC.DownloadFileCompleted+=new AsyncCompletedEventHandler(WC_DownloadFileCompleted); } private void button1_Click(object sender, EventArgs e) { WC.DownloadFileAsync(UrlFile, @"D:\1.msi"); } //Процедура "копирования" void WC_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) { progressBar1.Maximum = (int)Leng / 1024;// Max progressBar1.Value = (int)e.BytesReceived / 1024;// Value Text = string.Concat(progressBar1.Value, " Кб");// KbReceived } //Копирование завершено void WC_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { if (e.Error == null) MessageBox.Show("OK"); else MessageBox.Show(e.Error.Message); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д