Ci sono riuscito
il problema è che far partire i download devo premere 2 volte su download e non capisco perchè o_o"
save è il "nome del file con l'estensione" lo split ecc servono per andarlo a prendere direttamente da l'url che sta scaricando, mentre urltxt è il come della textbox in cui inserisci l'url che poi va aggiunto alla listbox!

codice:
    Private Sub down_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles down.Click
        download = New WebClient
        Dim save As String
        Dim menouno As String
        save = ListBox1.Text.Split("/"c)(ListBox1.Text.Split("/"c).Length - 1)
        If urltxt.Text = "http://" Then
            MsgBox("Riempi l'url!!", MsgBoxStyle.Critical)
        Else
            For numX = 1 To ListBox1.Items.Count()
                menouno = (numX - 1)
                ListBox1.SetSelected(menouno, True)
                flDow = True
                download.DownloadFileAsync(New Uri(ListBox1.SelectedItem), brwtxt.Text + save)
                While flDow
                    Application.DoEvents()
                    Thread.Sleep(20)
                End While
            Next
        End If
    End Sub
l'unica cosa adesso è che non capisco perchè devo premere 2 volte il tasto download prima che parti a scaricare .____.

EDIT: per visualizzare la velocità di download che operazione devo fare?
DownloadFileAsync non ha la possibilità di visualizzarla..ho a disposizione i byte che scarica e i byte totali del file..