Exemplarische Vorgehensweise: Reagieren auf Dateisystemereignisse

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

In den Prozeduren auf dieser Seite wird veranschaulicht, eine Komponente FileSystemWatcher erstellen, auf ein Verzeichnis auf einem lokalen Computer zeigen und dann mithilfe der Filter-Eigenschaft nur Änderungen an Textdateien überwachen. Erstellen Sie einen Ereignishandler, der reagiert, wenn die Created Ereignis und Changed Ereignis ausgelöst werden, und Sie verwenden ein Formular, um die Benachrichtigungen angezeigt, die von diesen Ereignissen.

In der folgenden Prozedur erstellen Sie ein Windows Form und eine FileSystemWatcher-Komponenteninstanz, die zusammenarbeiten, um auf Verzeichnisebene Ereignisse zu reagieren.

Hinweis

Ihr Computer möglicherweise unterschiedliche Namen oder Pfade für einige der Visual Studio-Benutzer Elemente der Benutzeroberfläche in den folgenden Anweisungen angezeigt. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

Erstellen der Anwendung

Um das Formular und Komponenten erstellen müssen Sie für die Anwendung

  1. From the New Project dialog box, create a Visual Basic or Visual C# Windows Application, and name it MyWatcher.

  2. Ziehen Sie aus der Registerkarte Windows Forms in der Toolbox zwei Label-Steuerelemente auf die Designeroberfläche.

  3. Klicken Sie auf die Registerkarte Komponenten in der Toolbox , und ziehen Sie dann auf die Designeroberfläche für Ihre Komponente FileSystemWatcher. Standardmäßig heißt diese Komponente FileSystemWatcher1.

Überwachen eines Verzeichnisses

In der folgenden Prozedur legen Sie verschiedene Eigenschaften für die Komponente ermitteln, was es überwacht. Diese Einstellungen führen die Komponente überwacht das angegebene Verzeichnis auf dem lokalen Computer und für die Erstellung von Dateien ansehen, die auf die Dateinamenerweiterung ".txt" endet.

Eigenschaften für die FileSystemWatcher-Komponente festlegen

  1. Klicken Sie auf die Sie in der vorigen Prozedur erstellte FileSystemWatcher -Komponente, und zeigen Sie dessen Eigenschaften im Eigenschaftenfenster .

  2. Legen Sie die Komponente Namen myWatcher fest.

  3. Verwenden Sie die Path -Eigenschaft, um die Komponente FileSystemWatcher ein Verzeichnis auf dem lokalen Computer überwacht festzulegen. Beispielsweise könnte auf einem Microsoft Windows 2000-Computer Sie die folgenden die Path -Eigenschaft um zu Ihrer eigene Verzeichnis überwacht die Komponente festzulegen eingeben:

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

    Tipp

    Für die Zwecke dieses Beispiel können Sie alle gewünschten Verzeichnis auf dem lokalen Computer.

  4. Legen Sie die Filter -Eigenschaft auf *.txt in die Komponente nur die Dateien mit der Dateinamenerweiterung .txt enden ansehen.

Behandeln von Ereignissen von

In der folgenden Prozedur definieren Sie zwei Ereignishandler für die Komponente, die die Verarbeitung definieren, die erfolgen soll, sobald die Changed und Created Ereignisse ausgelöst werden.

So konfigurieren Sie Ihre Komponente

  1. Doppelklicken Sie auf die FileSystemWatcher-Komponente. Daraufhin werden im Code-Editor und ein standardmäßiger Ereignishandler für das Changed-Ereignis angezeigt.

    Hinweis

    Weitere Informationen finden Sie unter Erstellen von Ereignishandlern in Windows Forms.

  2. Verwenden Sie den folgenden Code, um eine einfache Textzeichenfolge anzuzeigen, die überprüft, dass das Ereignis ausgelöst wurde:

                                  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
    EndSub
    
    private void myWatcher_Changed(object sender, 
       System.IO.FileSystemEventArgs e)
    {
       label1.Text = "Changes made to: " + e.FullPath;
    }
    
  3. Erstellen Sie Ereignishandler für das Created-Ereignis gibt an, was Ihre Anwendung tun sollten, wenn die Komponente dieses Ereignis auslöst. Informationen zum Erstellen von Ereignishandlern finden Sie unter SO WIRD'S GEMACHT: Erstellen von Ereignishandlern mithilfe des Designers. Fügen Sie Code, wie gezeigt um den vollständigen Pfad der neu erstellten Datei anzuzeigen. Abschließend sollten Sie den Code im folgende Beispiel ähneln.

                                  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"EndSub
    
    private void myWatcher_Created(object sender,
       System.IO.FileSystemEventArgs e)
    {
       label2.Text = "The file: " + e.FullPath + 
          " has been added to your directory.";
    }
    
  4. Speichern Sie alle Dateien und dann erstellen Sie, und führen Sie Ihre Anwendung.

Testen der Komponente

In der folgenden Prozedur werden Sie manuell Änderungen im Verzeichnis vornehmen, die Ihrer Komponente überwacht wird, so dass den Ereignishandler die Changed und Created Ereignisse auslösen zu erzwingen.

Um die FileSystemWatcher-Komponente zu testen.

  1. Führen Sie die Anwendung, die Sie in der vorherigen Prozedur erstellt haben.

  2. Verwenden Sie Windows Explorer , zu das Verzeichnis, das von der FileSystemWatcher-Komponente überwacht.

  3. Starten Sie Editor, und erstellen Sie eine neue Textdatei. Speichern Sie diese Datei im Verzeichnis in Schritt 2, und Schließen der Datei.

    Hinweis

    Dies sollte lösen die Created und Changed Ereignisse und den definierte Handler ausgeführt.

  4. Zum Formular zurückzukehren. Sie sollten die erstellte Meldung in der Beschriftung angezeigt.

  5. Öffnen Sie die Textdatei, die Sie erstellt haben, geben Sie einige Textzeilen und speichern Sie es erneut.

    Hinweis

    Dies sollte das Changed-Ereignis ausgelöst und den definierte Handler ausgeführt.

  6. Zum Formular zurückzukehren. Sie sollten die Änderung Meldung in der Beschriftung angezeigt.

Siehe auch

Aufgaben

SO WIRD'S GEMACHT: Erstellen von Instanzen von FileSystemWatcher-Komponenten

Konzepte

Einführung in die Überwachung Dateisystemereignisse

Weitere Ressourcen

Label-Steuerelement (Windows Forms)