Прошу Ваших советов вот по какому вопросу. В моей программе по таймеру происходит событие. Но мне необходимо, чтобы оно происходило через заданное время только в том случае, если пользователь не производит никаких действий (а конкретно не происходит событий мыши). Я решил действовать от обратного: произошло событие - сбросили таймер (чтобы начинал считать заново). Создаю события мыши (там и клик, и тд), указываю, чтобы таймер стоп, или вообще отключаю его, но... Как не работай мышью в программе, все-равно происходит событие через заданное время.
А что показала отладка? Бряки ставили на события мыши, они прилетают вообще или нет? У вас тут вебкит тег стоит, может ваш browser-control все ивенты съедает?
Все верно, вебкит. Таймер должен возвращать начальную страницу. А суть проблемы открылась только что: вебкит в c# не перенимает фокус, работа с его событиями мыши и тд ничего не дает, т.к. программе они не доступны.
Введите булеву переменную "canceled". При событии click присваиваете ей true, а в таймере перед выполнением проверяете ее на false.
Если google не помог, то это очевидное решение, разве нет?
где мышь будет "когда сработает", в вашей программе или нет, если нет то нужно глобально перехватывать события , если в программе то все зависит от события, без кода ничего точно сказать нельзя
Богдан Боровков: "события мыши вебкита" оказывают влияние только на сам вебкит, вам нужно изучить принципы построения приложений в windows, если кратко то каждый элемент управления (кнопка, форма, текстовое поле и тд) это отдельное окно, которое принимает и обрабатывает события от системы, так же любое из них может принять событие и "сказать системе" что это событие больше никому обрабатывать нельзя и тогда никто об нем ничего не узнает. Без кода подробнее ничего сказать не могу.
Ниже код. Суть в том, что в форме есть таймер, который совершает переход на домашнюю страницу. Он считает себе после загрузки каждой новой страницы. Задача в том, чтобы активность пользователя (работа мышью) прерывала таймер и запускала его заново, а если активности нет - то через определенное время (интервал таймера) пойдем домой.