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
From the New Project dialog box, create a Visual Basic or Visual C# Windows Application, and name it MyWatcher.
Ziehen Sie aus der Registerkarte Windows Forms in der Toolbox zwei Label-Steuerelemente auf die Designeroberfläche.
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
Klicken Sie auf die Sie in der vorigen Prozedur erstellte FileSystemWatcher -Komponente, und zeigen Sie dessen Eigenschaften im Eigenschaftenfenster .
Legen Sie die Komponente Namen myWatcher fest.
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.
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
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.
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; }
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."; }
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.
Führen Sie die Anwendung, die Sie in der vorherigen Prozedur erstellt haben.
Verwenden Sie Windows Explorer , zu das Verzeichnis, das von der FileSystemWatcher-Komponente überwacht.
Starten Sie Editor, und erstellen Sie eine neue Textdatei. Speichern Sie diese Datei im Verzeichnis in Schritt 2, und Schließen der Datei.
Zum Formular zurückzukehren. Sie sollten die erstellte Meldung in der Beschriftung angezeigt.
Ö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.
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