Аналог 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);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д