다음을 통해 공유


방법: 파일 시스템 이벤트 처리기 만들기

업데이트: 2007년 11월

FileSystemWatcher 구성 요소에서는 감시하는 디렉터리의 변경 형식에 따라 네 개의 이벤트를 발생시킵니다. 이 이벤트들은 다음과 같습니다.

  • Created — 디렉터리나 파일이 만들어질 때마다 발생합니다.

  • Deleted — 디렉터리나 파일이 삭제될 때마다 발생합니다.

  • Renamed — 디렉터리나 파일의 이름이 변경될 때마다 발생합니다.

  • Changed — 디렉터리나 파일의 크기, 시스템 특성, 마지막 수정 시간, 마지막 액세스 시간, NTFS 보안 권한이 변경될 때마다 발생합니다.

    참고:

    NotifyFilter 속성을 사용하여 Changed 이벤트가 발생시키는 이벤트의 개수를 제한할 수 있습니다. 자세한 내용은 방법: FileSystemWatcher 구성 요소 인스턴스 구성을 참조하십시오.

각 이벤트에 대해 변경이 일어날 때 코드에서 메서드를 자동으로 호출하는 처리기를 정의할 수 있습니다. 이벤트 처리기는 구성 요소, 폼 또는 컨트롤에 대한 이벤트에 바인딩되는 메서드입니다. 각 이벤트 처리기는 이벤트를 제대로 처리할 수 있도록 하는 두 개의 매개 변수를 제공합니다. sender 매개 변수는 이벤트를 담당하는 개체에 대한 개체 참조를 제공하고 e 매개 변수는 해당 이벤트 및 관련 정보를 표시하는 개체를 제공합니다.

FileSystemWatcher 구성 요소의 인스턴스에 대해 이벤트 처리기를 만들 수 있는 방법은 여러 가지가 있지만 가장 간단한 방법은 Visual Studio에서 자동으로 대부분의 코드를 만들도록 하는 것입니다. 디자이너에서 FileSystemWatcher 구성 요소 인스턴스를 두 번 클릭하면 Visual Studio에서 코드 편집기가 열리고 Changed 이벤트와 이 이벤트가 호출하는 빈 프로시저 모두에 대해 이벤트 처리기가 만들어집니다. 그러면 이 프로시저에서 발생시키려는 프로세싱을 채울 수 있습니다. 또한 처리기를 직접 만들어 다른 이벤트를 처리할 수 있습니다.

이벤트 처리기에 대한 자세한 내용은 이벤트 처리 및 발생을 참조하십시오.

Changed 이벤트의 기본 처리기를 만들려면

  1. FileSystemWatcher 구성 요소의 인스턴스를 만듭니다. 자세한 내용은 방법: FileSystemWatcher 구성 요소 인스턴스 만들기를 참조하십시오.

  2. 구성 요소에 필요한 속성을 설정합니다. 자세한 내용은 방법: FileSystemWatcher 구성 요소 인스턴스 구성을 참조하십시오.

  3. 디자이너에서 처리기를 만들 FileSystemWatcher 구성 요소를 두 번 클릭합니다.

    참고:

    코드 편집기가 나타나고 두 항목이 코드에 추가되어 있습니다. 즉, 대리자를 만들어 등록하고 프로시저를 호출하는 처리기와 Changed 이벤트의 빈 프로시저가 코드에 추가되어 있습니다.

  4. Changed 이벤트의 빈 프로시저에서, 이 이벤트가 호출될 때 동작을 수행하는 코드를 정의합니다.

FileSystemWatcher 이벤트의 처리기를 만들려면

  1. FileSystemWatcher 구성 요소의 인스턴스를 만듭니다. 자세한 내용은 방법: FileSystemWatcher 구성 요소 인스턴스 만들기를 참조하십시오.

  2. 구성 요소에 필요한 속성을 설정합니다. 자세한 내용은 방법: FileSystemWatcher 구성 요소 인스턴스 구성을 참조하십시오.

  3. 호출할 적절한 프로시저를 만들고 엔트리를 처리할 코드를 정의합니다. 다음 예제에서는 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;
        }
    
    
  4. 구성 요소의 이벤트에 FileSystemEventHandler의 인스턴스를 할당합니다. 이 예제에서는 3단계에서 정의된 Changed 이벤트 처리기를 추가합니다.

    AddHandler myWatcher.Changed, _
       New System.IO.FileSystemEventHandler(AddressOf Me.myWatcher_Changed)
    
         myWatcher.Changed +=
               new System.IO.FileSystemEventHandler(this.myWatcher_Changed);
    

참고 항목

작업

방법: FileSystemWatcher 구성 요소 인스턴스 만들기

방법: FileSystemWatcher 구성 요소 인스턴스 구성

개념

파일 시스템 이벤트 모니터링 소개