.NET 4.x Вылет программы при отслеживании директории - C#
Формулировка задачи:
Доброго времени всему сообществу, вот есть такой код
поле текстовое... должно отслеживать состояние текстовых файлов в папке - при их (файлов) изменении должно выводиться сообщение в текстовое поле это самое..., так вот почему то при изменении файла в этой директории - программа просто закрывается... Буду очень признателен если кто то подскажет в какую сторону хоть копать...
/* * Created by SharpDevelop. * User: GadjievAlex * Date: 13.10.2013 * Time: 19:50 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Windows.Forms; namespace DirectoryWatcher { /// <summary> /// Description of MainForm. /// </summary> public partial class MainForm : Form { FileSystemWatcher watcher=new FileSystemWatcher(); public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // try { watcher.Path=@"G:\MyWatchingFolder"; } catch(ArgumentException ex) { textBox1.Text+=ex; } watcher.NotifyFilter=NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; watcher.Filter="*.txt"; watcher.Changed+=new FileSystemEventHandler(OnChanged); watcher.Changed+=new FileSystemEventHandler(OnChanged); watcher.Changed+=new FileSystemEventHandler(OnChanged); watcher.Renamed+=new RenamedEventHandler(OnRenamed); watcher.EnableRaisingEvents=true; } void OnChanged(object source, FileSystemEventArgs e) { textBox1.Text+=e.FullPath+" "+e.ChangeType; } void OnRenamed(object source, RenamedEventArgs e) { textBox1.Text+=e.OldFullPath+" "+e.FullPath; } } }
Решение задачи: «.NET 4.x Вылет программы при отслеживании директории»
textual
Листинг программы
void OnChanged(object source, FileSystemEventArgs e) { this.Invoke(new Action(() => { textBox1.Text += e.FullPath + " " + e.ChangeType; })); } void OnRenamed(object source, RenamedEventArgs e) { this.Invoke(new Action(() => { textBox1.Text += e.OldFullPath + " " + e.FullPath; })); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д