次の方法で共有


ファイル通知のサンプル

更新 : 2007 年 11 月

このサンプルでは、FileSystemWatcher クラスを使用して、ファイルが作成、削除、変更、または名前変更されたときに応答します。

サンプルとそのインストール手順を取得するには

  • 次のいずれかを実行します。

    • [ヘルプ] メニューの [サンプル] をクリックします。

      サンプルの情報を示す Readme が表示されます。

    • Visual Studio 2008 のサンプルの Web サイトにアクセスします。ここには、サンプルの最新版が掲載されています。

    • Visual Studio をインストールしたコンピュータで、サンプルを検索します。既定では、サンプルおよび Readme ファイルは drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid にインストールされています。Visual Studio の Express Edition については、すべてのサンプルがオンラインで提供されています。

詳細については、「サンプル ファイルの格納場所」を参照してください。

セキュリティに関するメモ :

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

このサンプルを実行するには

  1. F5 キーを押します。

  2. 右側のコントロールを使用して、監視するファイルを変更します。

  3. Windows エクスプローラを使用して、監視しているファイルに変更を加えます。ファイル変更の実行方法は問いません。

使用例

サンプル フォームでは、FileSystemWatcher クラスのプロパティを設定できます。次に例を示します。

  • Path   このオブジェクトで "監視" するファイル システム パスです。

  • Filter   監視するファイルの種類です。既定値は *.* です。

  • NotifyFilter   監視する変更の種類です。このプロパティには、0 または System.IO.NotifyFilters 列挙値を組み合わせて指定できます。既定では、FileSystemWatcherFileNameDirectoryName、および LastWrite の各変更を検出します。

  • IncludeSubdirectories   選択したパスの下位ディレクトリも監視対象に含めるかどうかを示します。

  • EnableRaisingEvents   true の場合、オブジェクトは、ファイル システムの変更を監視し、変更されたときにイベントを発生させます。基本的には、これは "オン/オフ スイッチ" です。このデモでは、このプロパティは、トグル ボタンとして表示されている CheckBox コントロールを使用して制御します。

フォーム上のコントロールでは、ファイルを作成、削除、変更、および名前変更して、イベントを生成させることができます。フォームのコンポーネント トレイには、ツールボックスの [コンポーネント] タブにある FileSystemWatcher コンポーネントが含まれています。このコンポーネントを使用すると、デザイン時に [プロパティ] ウィンドウを使用してプロパティを簡単に設定できます。

フォームの [作成]、[名前の変更]、[変更]、および [Delete Sample File] の各ボタンを使用して、FileSystemWatcher のイベントを生成します。これらのボタンでは、選択したフォルダに一時ファイルが作成されます。処理が済んだ後で、残っているサンプル ファイルをすべて削除するには、[Delete All Sample Files] ボタンを使用します。このサンプルでは、FileSystemWatcher のイベントのうち、次の 5 つを処理します。

  • CreatedChanged、および Deleted   これら 3 つのイベントは、すべて同じイベント ハンドラ HandleChangedCreatedDeleted で処理されます。イベントの詳細はフォームに表示されます。

  • Renamed   古い名前と新しい名前が表示されます。

  • Error   例外メッセージが表示されます。

参照

参照

FileSystemWatcher

NotifyFilters