Приложение WinForms, в котором определенный элемент управления пользовательского интерфейса должен исчезнуть через 5 секунд после взаимодействия пользователя с окном (щелчок в любом месте формы, включая любой элемент управления или нажатие клавиши).
Предполагается, что событие Когда это происходит, запускается следующий обработчик события:
private async void userInteract(object sender, System.EventArgs e)
{
if (progressBarFinished)
{
await Task.Delay(5000);
statusIdle(); // this method hides a progress bar after 5 seconds. It is working.
}
}
В конструкторе формы на событие подписывается следующее:
// at the moment, it is not working for when a user clicks anywhere on the form
// it is working when a specific control click event occurs, like this one
progressBar.Click += userInteract;
Подписка на MouseClick
и KeyPress
события самого Form
были опробованы, но событие, похоже, не сработало. Только когда используются указанные c управляющие события, он работает, как указано выше.