Итак, я пытаюсь создать средство уведомления об изменении файла, и мне нужно сделать так, чтобы текст в текстовом поле обновлялся всякий раз, когда изменяется содержимое файла. Это то, что я до сих пор:
string path = "C:/Users/Max/Dropbox/Public/IM.txt";
StringBuilder b = new StringBuilder();
private void Window_Loaded(object sender, EventArgs e)
{
TB.Text = File.ReadAllText(path);
b.Append(TB.Text);
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path.Remove(path.Length - 6, 6);
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.Filter = "*.txt";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
TB.SelectionStart = TB.Text.Length;
TB.ScrollToCaret();
}
private void OnChanged(object source, FileSystemEventArgs e)
{
TB.Text = File.ReadAllText(path);
}
Кажется, что это правильно вызывает событие, но как только оно касается кода в событии OnChanged, программа завершается, никаких ошибок или чего-либо еще, просто закрывается. Я пытался остановить его закрытие, я даже пытался поместить e.Cancel в событие formclosing, но, похоже, ничего не работает. Есть идеи? Я могу предоставить больше информации, если это необходимо.