EnableRaisingEvents每100毫秒?

时间:2013-03-05 17:44:11

标签: c# events filesystemwatcher

我只是想知道无论如何每100毫秒才能打开和关闭EnableRaisingEvents? 例如,最初,EnableRaisingEvents设置为true。当有事件进入时,EnableRaisingEvents设置为false。 100毫秒后,EnableRaisingEvents再次设置为true。在文件观察程序收到另一个事件之前,EnableRaisingEvents再次设置为false。 可以在EnableRaisingEvents关闭期间(设置为false)错过事件。 所以我只是想知道如何在代码中实现这种逻辑。令我困惑的是,无论如何,事件将被解雇,我是否应该使用勾号来决定是否接受此事件?

2 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情(根据Austin Salonen的建议编辑):

private static Timer _myTimer = new Timer();
// ...
private static void OnTick(Object obj, EventArgs args)
{
    fileSystemWatcher.EnableRaisingEvents ^= true;
}

// ...

_myTimer.Tick += OnTick;
_myTimer.Interval = 100;
_myTimer.Start();

答案 1 :(得分:0)

使用Timer(线程化一个)并将计时器的已用间隔设置为100 ms,如果在UI线程上创建了FS wather,则可能需要序列化该调用。