とにかく100ミリ秒ごとにEnableRaisingEventsのオンとオフを切り替える方法があるのだろうか? たとえば、最初は EnableRaisingEvents が true に設定されています。イベントが入ってくると、EnableRaisingEvents は false に設定されます。100 ミリ秒後、EnableRaisingEvents が再び true に設定されます。File Watcher が別のイベントを受信するまで、EnableRaisingEvents は再び false に設定されます。EnableRaisingEvents がオフになっている (false に設定されている) 間は、イベントを見逃すことは問題ありません。ですから、このロジックをコードでどのように実現すればよいのでしょうか。私を混乱させているのは、とにかくイベントが発生するということです.ティックを使用して、このイベントを受け入れるかどうかを決定する必要がありますか?
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 に答える