Share via


Procédure pas à pas : réponse à des événements du système de fichiers

Mise à jour : novembre 2007

Les procédures de cette page illustrent le processus de création d'un composant FileSystemWatcher, que vous définissez de telle sorte qu'il pointe vers un répertoire de votre ordinateur local, avant d'utiliser la propriété Filter pour ne surveiller que les modifications apportées aux fichiers texte. Vous créez un gestionnaire d'événements qui répond au déclenchement des événements Created et Changed et vous utilisez un formulaire pour afficher les notifications résultant de ces événements.

Dans la procédure suivante, vous créez un Windows Form et une instance du composant FileSystemWatcher qui opèrent conjointement pour répondre à des événements de niveau répertoire.

Remarque :

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Création de l'application

Pour créer le formulaire et les composants requis pour l'application

  1. À partir de la boîte de dialogue Nouveau projet, créez une Application WindowsVisual Basic ou Visual C# et nommez-la MyWatcher.

  2. À partir de l'onglet Windows Forms de la boîte à outils, faites glisser deux contrôles Label vers l'aire du concepteur.

  3. Cliquez sur l'onglet Composants de la boîte à outils, puis faites glisser FileSystemWatcher vers l'aire du concepteur de votre composant. Par défaut, ce composant est nommé FileSystemWatcher1.

Surveillance d'un répertoire

Dans la procédure suivante, vous définissez plusieurs propriétés de votre composant pour déterminer les éléments qu'il doit surveiller. Ces paramètres indiquent au composant de surveiller, d'une part, le répertoire spécifié sur l'ordinateur local et, d'autre part, la création de fichiers dotés de l'extension .txt.

Pour définir les propriétés du composant FileSystemWatcher

  1. Cliquez sur le composant FileSystemWatcher créé dans la procédure précédente et affichez ses propriétés dans la fenêtre Propriétés.

  2. Indiquez myWatcher comme nom du composant.

  3. Utilisez la propriété Path pour définir le composant FileSystemWatcher afin qu'il surveille un répertoire de l'ordinateur local. Sur un ordinateur Microsoft Windows 2000, par exemple, vous pouvez indiquer ce qui suit dans la propriété Path afin de définir le composant pour qu'il surveille le répertoire Mes documents :

    C:\Documents and Settings\yourusername\My Documents\
    
    Conseil :

    Dans le cadre de cet exemple, vous pouvez utiliser n'importe quel répertoire de l'ordinateur local.

  4. Affectez la valeur *.txt à la propriété Filter pour que le composant ne surveille que les fichiers dotés de l'extension .txt.

Gestion des événements qui se produisent

Dans la procédure suivante, vous définissez deux gestionnaires d'événements pour votre composant qui définissent le traitement à appliquer chaque fois que les événements Changed et Created sont déclenchés.

Pour configurer votre composant

  1. Double-cliquez sur le composant FileSystemWatcher. L'éditeur de code et un gestionnaire d'événements par défaut pour l'événement Changed apparaissent.

    Remarque :

    Pour plus d'informations, consultez Création de gestionnaires d'événements dans les Windows Forms.

  2. Utilisez le code suivant pour afficher une simple chaîne de texte qui vérifie que votre événement a été déclenché :

    Private Sub myWatcher_Changed(ByVal sender As System.Object, _
       ByVal e As System.IO.FileSystemEventArgs) Handles myWatcher.Changed
       Me.Label1.Text = "Changes made to: " & e.FullPath
    End Sub
    
    private void myWatcher_Changed(object sender, 
       System.IO.FileSystemEventArgs e)
    {
       label1.Text = "Changes made to: " + e.FullPath;
    }
    
  3. Créez le gestionnaire d'événements pour l'événement Created qui spécifie la réponse de votre application chaque fois que le composant déclenche cet événement. Pour plus d'informations sur la création de gestionnaires d'événements, consultez Comment : créer des gestionnaires d'événements à l'aide du concepteur. Ajoutez le code, comme illustré ci-après, pour afficher le chemin complet du fichier nouvellement créé. Lorsque vous avez terminé, votre code doit ressembler à l'exemple suivant.

    Private Sub myWatcher_Created(ByVal sender As System.Object, _
       ByVal e As System.IO.FileSystemEventArgs) Handles myWatcher.Created
       Me.Label2.Text = "The file: " & e.FullPath & _
          " has been added to your directory"
    End Sub
    
    private void myWatcher_Created(object sender,
       System.IO.FileSystemEventArgs e)
    {
       label2.Text = "The file: " + e.FullPath + 
          " has been added to your directory.";
    }
    
  4. Enregistrez tous les fichiers, puis générez et exécutez votre application.

Test du composant

Dans la procédure suivante, vous pouvez apporter manuellement des modifications au répertoire surveillé par votre composant afin de forcer le gestionnaire d'événements à déclencher les événements Changed et Created.

Pour tester votre composant FileSystemWatcher

  1. Exécutez l'application créée dans la procédure précédente.

  2. Utilisez l'Explorateur Windows pour rechercher le répertoire surveillé par votre composant FileSystemWatcher.

  3. Ouvrez le Bloc-notes, puis créez un nouveau fichier texte. Enregistrez ce fichier dans le répertoire trouvé à l'étape 2 et fermez le fichier.

    Remarque :

    Cette action doit déclencher les événements Created et Changed et exécuter le gestionnaire que vous avez défini.

  4. Revenez dans le formulaire. Vous devez voir s'afficher le message créé dans l'étiquette.

  5. Ouvrez le fichier texte que vous avez créé, tapez quelques lignes de texte et réenregistrez-le.

    Remarque :

    Cette action doit déclencher l'événement Changed et exécuter le gestionnaire que vous avez défini.

  6. Revenez dans le formulaire. Vous devez voir s'afficher le message de modification dans l'étiquette.

Voir aussi

Tâches

Comment : créer des instances du composant FileSystemWatcher

Concepts

Introduction à la surveillance des événements de système de fichiers

Autres ressources

Label, contrôle (Windows Forms)