1

とにかく100ミリ秒ごとにEnableRaisingEventsのオンとオフを切り替える方法があるのだろうか? たとえば、最初は EnableRaisingEvents が true に設定されています。イベントが入ってくると、EnableRaisingEvents は false に設定されます。100 ミリ秒後、EnableRaisingEvents が再び true に設定されます。File Watcher が別のイベントを受信するまで、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

タイマー (スレッド 1) を使用し、タイマーの経過間隔を 100 ミリ秒に設定します。FS が UI スレッドで作成された場合は、呼び出しをシリアル化する必要がある場合があります。

于 2013-03-05T17:52:05.393 に答える