Bonjour,

je suis entrain des créer un programme pour Rechercher un mots dans tous les fichiers dans le répertoire.
mon problème c'est comment calculer tous les fichiers avec un progressbar dans backgroundWorker1.

mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub BackgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs)
        ScanDirectory(e.Argument, TextBox2.Text)
        If backgroundWorker1.CancellationPending Then
            e.Cancel = True
            Exit Sub
        End If
        backgroundWorker1.ReportProgress(100)
    End Sub
 
Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As ProgressChangedEventArgs)
        If Not backgroundWorker1.CancellationPending Then
            ProgressBar1.Value = e.ProgressPercentage
        End If
    End Sub
 
Public Sub ScanDirectory(ByVal dossier As String, ByVal Pattern As String)
        For Each files As String In Directory.GetFiles(dossier)
            If backgroundWorker1.CancellationPending Then Return
            counter += 1
            Label2.Invoke(Sub() Label2.Text = files)
            ProgressBar1.Invoke(Sub() ProgressBar1.Maximum = files.Length)
            Using reader As New StreamReader(files)
                Dim data As String = reader.ReadToEnd
                If data IsNot Nothing AndAlso data.Contains(Pattern) Then FileFound.Add(files)
            End Using
            backgroundWorker1.ReportProgress(counter / files.Length * 100)
        Next
        For Each filename As String In Directory.GetDirectories(dossier)
            counter = 0
            ScanDirectory(filename, searchPattern)
        Next
    End Sub
pouvez-vous me dire comment puis je faire pour calculer la recherche d'un mot avec un progressbar? merci d'avance