Я использую C# в Visual Studio 2010 с фреймворком 4.0.Каждый раз, когда я открываю Visual Studio, изменения FileSystemWatcher EnableRaisingEvent
В моем проекте, в двух разных формах, есть два FileSystemWatcher
s со значением EnableRaisingEvent
, установленным на false
. Если я закрою Visual Studio, когда я его снова открою, я получу в FileSystemWatcher
свойство EnableRaisingEvent
, установленное на true
.
В обоих моих форм в файле дизайнера есть следующий код:
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.fileSystemWatcher1 = new System.IO.FileSystemWatcher();
((System.ComponentModel.ISupportInitialize)(this.fileSystemWatcher1)).BeginInit();
this.SuspendLayout();
this.fileSystemWatcher1.Filter = "my_filter";
this.fileSystemWatcher1.NotifyFilter = System.IO.NotifyFilters.LastWrite;
this.fileSystemWatcher1.SynchronizingObject = this;
this.fileSystemWatcher1.Changed += new System.IO.FileSystemEventHandler(this.fileSystemWatcher1_Changed);
}
Свойство EnableRaisingEvent
не установлен, но по умолчанию false
.
Любая идея, почему я получаю это странное поведение?
редактировать
Я последовал предложению Virtlink, добавив следующую строку кода:
this.fileSystemWatcher1.EnableRaisingEvents = false;
Это, казалось, решить мою проблему, но через несколько дней (и некоторые открытия, закрытия и восстановление проекта, но без изменения fileSystemWatcher1
) я нашел:
в конструкторе , В свойствах
fileSystemWatcher1
,EnableRaisingEvents
был установлен обратноtrue
в коде, ранее добавлена линия отсутствует
Я пытался двигаться в Visual Studio 2012 (все еще рамки 4.0) и Обходной путь исправил проблему еще на несколько дней. Затем я получил ту же ситуацию, что и в VS10.
Любая другая идея?
Можете ли вы подтвердить, что вы добавили предложение Virtlink 'this.fileSystemWatcher1.EnableRaisingEvents = false;' в конструкторе вашего файла Form.cs? –
@jacobaloysious Я сделал, и это, кажется, исправить проблему! Спасибо, тоже – 888