Практическое руководство. Создание обработчиков событий файловой системы
Обновлен: Ноябрь 2007
Компонент FileSystemWatcher генерирует четыре события в зависимости от типа изменений, произошедших в каталоге, за которым ведется наблюдение. Это следующие события:
Created — вызывается при каждом создании каталога или файла.
Deleted — вызывается при каждом удалении каталога или файла.
Renamed — вызывается при изменении имени каталога или файла.
Changed вызывается при изменении размера, системных атрибутов, времени внесения последних изменений или времени последнего доступа, а также разрешений безопасности NTFS файла или каталога.
Примечание. Свойство NotifyFilter можно использовать для ограничения количества событий, генерируемых свойством Changed. Дополнительные сведения см. в разделе Практическое руководство. Настройка экземпляров компонента FileSystemWatcher.
Для каждого из этих событий можно определить обработчиков, автоматически вызывающих методы в коде при внесении соответствующех изменений. Обработчик событий — это метод, привязанный к событию для компонента, формы или элемента управления. Каждый обработчик событий предоставляет два параметра, позволяющие корректно обрабатывать события: параметр sender, обеспечивающий ссылку на объект, ответственный за событие, и параметр e, обеспечивающий объект, представляющий событие и соответствующие сведения.
Существует несколько способов создания обработчика событий для экземпляра компонента FileSystemWatcher, но проще всего позволить Visual Studio создать большую часть кода автоматически. При двойном щелчке экземпляра компонента FileSystemWatcher в конструкторе система Visual Studio открывает Редактор кода и создает обработчик событий Changed и вызываемую пустую процедуру. Теперь можно вписать операции по обработке, которые должны проходить в процедуре. Кроме того, можно создать собственных обработчиков для других событий.
Дополнительные сведения об обработчиках событий см. в разделе Обработка и вызов событий.
Создание обработчика по умолчанию для события Changed
Создайте экземпляр компонента FileSystemWatcher. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента FileSystemWatcher.
Задайте необходимые свойства компонента. Дополнительные сведения см. в разделе Практическое руководство. Настройка экземпляров компонента FileSystemWatcher.
Находясь в конструкторе, дважды щелкните компонент FileSystemWatcher, для которого требуется создать обработчик.
Примечание. На экране появится Редактор кода, а в код будет добавлено два элемента: обработчик, создающий и регистрирующий делегата, а также вызывающий процедуру, и пустая процедура для события Changed.
В пустой процедуре для события Changed определите код для действий, выполняющихся при вызове события.
Создание обработчика для события FileSystemWatcher
Создайте экземпляр компонента FileSystemWatcher. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров компонента FileSystemWatcher.
Задайте необходимые свойства компонента. Дополнительные сведения см. в разделе Практическое руководство. Настройка экземпляров компонента FileSystemWatcher.
Создайте соответствующую процедуру, которая будет вызываться и определять код для обработки записей. В следующем примере кода показан обработчик событий Changed.
Private Sub myWatcher_Changed(ByVal sender As System.Object, _ ByVal e As System.IO.FileSystemEventArgs) Dim pathChanged As String pathChanged = e.FullPath End Sub
private void myWatcher_Changed(object sender, System.IO.FileSystemEventArgs e) { string pathChanged = e.FullPath; }
Присвойте экземпляр FileSystemEventHandler событию для компонента. В следующем примере добавлен обработчик событий Changed, заданный в шаге 3.
AddHandler myWatcher.Changed, _ New System.IO.FileSystemEventHandler(AddressOf Me.myWatcher_Changed)
myWatcher.Changed += new System.IO.FileSystemEventHandler(this.myWatcher_Changed);
См. также
Задачи
Практическое руководство. Создание экземпляров компонента FileSystemWatcher
Практическое руководство. Настройка экземпляров компонента FileSystemWatcher