HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2005の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2005 Tips > コントロール > FileSystemWatcher Tips メニュー

05.ファイルまたはフォルダがリネームされたことを知る

UPDATE:2007/09/27 

<< 前のTips  次のTips >>

 

 ファイルまたはフォルダがリネームされたことを知るには、Renamedイベントを使用します。引数の System.IO.RenamedEventArgsを使用すると、変更前の名前をOldNameプロパティで、変更後の名前をNameプロパティでそれぞれ取得することが出来ます。また、変更前の名前をフルパスで取得するにはOldFullPathプロパティ、変更後の名前をフルパスで取得するには FullPathプロパティを使用します。

 
サンプル
private void Form1_Load(object sender, System.EventArgs e)
{
    //監視するフォルダを設定する
    fileSystemWatcher1.Path = @"C:\Work";

    //サブフォルダも監視できるようにする
    fileSystemWatcher1.IncludeSubdirectories = true;
}

private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e)
{
    //リネーム前の名前とリネーム後の名前を取得する
    MessageBox.Show(e.OldName + " が " + e.Name + " に変更されました。");

    //リネーム前の名前(フルパス)とリネーム後の名前(フルパス)を取得する
    MessageBox.Show(e.OldFullPath + " が " + e.FullPath + " に変更されました。");
}