Аналог 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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы