1

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

4

2 回答 2

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();
于 2013-03-05T17:58:43.033 回答
0

使用 Timer(线程一)并将计时器的经过时间间隔设置为 100 毫秒,如果在 UI 线程上创建 FS wather,您可能需要序列化调用。

于 2013-03-05T17:52:05.393 回答