Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27233

Multiple downloads with checkboxes in vb.net

$
0
0
Hey, I started using WebClient in vp.net I started with creating a button which I made into a download button, but how can I connect the checkboxes? e.g If I had
10 checkboxes then I sould have 10 separate downloads? Dont know the code, but I have tried to select two checkboxes and then its asking me where I want to save those files, but it only downloads the first one. What did I do wrong?
Code:

Imports System.Net
Imports System.IO
Imports System.Diagnostics
Public Class Form1

    Private WithEvents WC As WebClient
#Region "Download RateVariables"
    Private ChangeInAmount As Integer
    Private PreviousAmount As Integer
    Private NextCheck As DateTime
#End Region


    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        setstatus("0 kb", "0kb", "0%", "0kb/s")
        WC = New WebClient
    End Sub
    Private Sub setstatus(CurDownload As String, ByVal TotalDownload As String, ByVal Percentage As String, ByVal Rate As String)
        Label1.Text = "Downloaded : " & CurDownload
        Label2.Text = "Download Size : " & TotalDownload
        Label3.Text = "Rate : " & Rate
        Label4.Text = "Percentage : " & Percentage
    End Sub
    Public Function CalculateRate(ByVal Input As Integer) As String
        Return Processbytes(Input) & "/s"
    End Function

    Public Function Processbytes(ByVal Input As Integer) As String

        'Check if the file is 1GB or more
        If Input >= 1073741824 Then
            Return Math.Round(CDbl(Input / 1073741824), 2) & " GB"
        Else
            'Check for MB
            If Input >= 1048576 Then
                Return Math.Round(CDbl(Input / 1048576), 2) & " MB"
            Else
                'Can only be in KB
                Return Math.Round(CDbl(Input / 1024), 2) & " KB"
            End If

        End If

    End Function

    Private Function CDb1(p1 As Double) As Double
        Throw New NotImplementedException
    End Function

    Private Sub WC_DownloadFileCompleted(sender As Object, e As System.ComponentModel.AsyncCompletedEventArgs) Handles WC.DownloadFileCompleted
        ProgressBar1.Value = 0
        ProgressBar1.Maximum = 0
        ChangeInAmount = 0
        PreviousAmount = 0
        NextCheck = Now.AddSeconds(1)
    End Sub

    Private Sub WC_DownloadProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs) Handles WC.DownloadProgressChanged
        Try
            If Now > NextCheck Then
                ChangeInAmount = e.BytesReceived - PreviousAmount
                PreviousAmount = e.BytesReceived
                NextCheck.AddSeconds(1)
            End If
            Dim Rate As String = CalculateRate(ChangeInAmount)
            ProgressBar1.Maximum = e.TotalBytesToReceive
            ProgressBar1.Value = e.BytesReceived
            setstatus(Processbytes(e.BytesReceived), Processbytes(e.TotalBytesToReceive), e.ProgressPercentage, Rate)
        Catch
        End Try
    End Sub
   
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        If CheckBox1.Checked = True Then




            Dim webAddress As String = "url"
            Dim SFD As New SaveFileDialog
            If SFD.ShowDialog() = DialogResult.OK Then
                WC.DownloadFileAsync(New Uri("url"), SFD.FileName)
            End If

        End If

        If CheckBox2.Checked = True Then


            Dim webAddress As String = "url"
            Dim SFD As New SaveFileDialog
            If SFD.ShowDialog() = DialogResult.OK Then
                WC.DownloadFileAsync(New Uri("url"), SFD.FileName)
            End If

        End If

        If CheckBox3.Checked = True Then


            Dim webAddress As String = "url"
            Dim SFD As New SaveFileDialog
            If SFD.ShowDialog() = DialogResult.OK Then
                WC.DownloadFileAsync(New Uri("url"), SFD.FileName)
            End If

        End If
    End Sub
End Class


Viewing all articles
Browse latest Browse all 27233

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>