Страницы

Поиск по вопросам

среда, 10 октября 2018 г.

Анти дребезг срабатывания события в C#

Доброго времени суток. Интересует как реализовать срабатывания события не чаше чем например 2 сек. т.е. человек долбит по кнопке, на кнопку подписано событие, нужно чтобы при срабатывании события запускался какой то таймер отсчитывал интервал времени в течении которого событие не сработает. Вроде задача не сложная а с таймером получается много кода (запуск, проверка условия, сброс таймера). может это организовывается на async/await?
Заранее всем спасибо!!


Ответ

Проще простого.
bool isClickHot = false; void OnClick(...) { if (isClickHot) return; BlockClick(); // ваш обработчик }
async void BlockClick() { isClickHot = true; await Task.Delay(2000); isClickHot = false; }

Комментариев нет:

Отправить комментарий