Bonjour, Bonsoir,
Souhaitant "monitorer" une liste de dossier (qui peut évoluer...), je crée dynamiquement une instance de composant FileSystemWatcher pour chaque dossier de la liste.
Mon soucis se présente si ma liste évolue (ajout d'un dossier à monitorer dans la liste):
-Comment supprimer toutes les instances de Filesystemwatcher de mon formulaire pour les recréer pour chaque dossier.
J'espère que j'ai été clair...
Merci d'avance !
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 Public Sub initFsWatcher_PNG(ByVal FolderPAth As String) Dim FSW As New FileSystemWatcher ' Répertoire à surveiller FSW.Path = FolderPAth ' Surveille les sous répertoires FSW.IncludeSubdirectories = False ' Surveille les images PNG FSW.Filter = "*.PNG" ' Surveille les types d'évènements suivants FSW.NotifyFilter = (NotifyFilters.Attributes _ Or NotifyFilters.CreationTime _ Or NotifyFilters.DirectoryName _ Or NotifyFilters.FileName _ Or NotifyFilters.LastAccess _ Or NotifyFilters.LastWrite _ Or NotifyFilters.Security _ Or NotifyFilters.Size) ' Active la levée d'évènements par le FileSystemWatcher FSW.EnableRaisingEvents = True AddHandler FSW.Created, AddressOf myFsWatcher_Created AddHandler FSW.Deleted, AddressOf myFsWatcher_deleted End Sub
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 Private Sub Init_FSW() 'on initialise la connexion avec la base de données Dim MaConnexion As SqlConnection = New SqlConnection(LocalConnexionStr) Dim MaCommande As SqlCommand = MaConnexion.CreateCommand Try MaConnexion.Open() MaCommande.CommandText = "SELECT Directory_PAth FROM T_Directories" Dim Monreader As SqlDataReader = MaCommande.ExecuteReader Do While Monreader.Read initFsWatcher_PNG(Monreader.GetValue(0).ToString) Loop MaConnexion.Close() Catch ex As Exception Msgbox(ex.message) End Try End Sub
Partager