کنترل FileSystemWatcher
از این کنترل برای مانیتور کردن یک پوشه استفاده میشود. بدین معنی که هر گونه تغییر اعم از حذف، تغییر نام، ایجاد یک فایل جدید و … در پوشه مورد نظر را به ما گزارش میدهد. برای روشن شدن مطلب یک برنامه ویندوزی جدید ایجاد کنید و یک کنترل FileSystemWatcher بر روی آن بکشید (کنترل به قسمت component try میرود).
با استفاده از پنجره Propertis و خاصیت Path پوشهای که قرار است تغییرات آن مانیتور شود را، مشخص میکنیم. که در این مثال پوشهای به نام watch است که در درایو C قرار دارد:
حال نوبت به کدنویسی میرسد. این کنترل دارای چهار رویداد میباشد، که هر کدام مسئول چک کردن تغییرات در پوشه مورد نظر میباشند:
به ترتیب کدهای زیر را در رویدادهای مربوطه بنویسید :
private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show(string.Format("Changed: {0} {1}", e.FullPath, e.ChangeType)); } private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show(string.Format("Created: {0} {1}", e.FullPath, e.ChangeType)); } private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show(string.Format("Deleted: {0} {1}", e.FullPath, e.ChangeType)); } private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e) { MessageBox.Show(string.Format("Renamed: {0} {1}", e.FullPath, e.ChangeType)); }
حال برنامه را اجرا کرده و مثلاً یک پوشه در داخل پوشه مورد نظر ایجاد کنید. به محض ایجاد پوشه، پیغامی مبنی بر ایجاد یک پوشه جدید (یا تغییر در پوشه مورد نظر) به شما نمایش داده میشود: