Событие MouseUp возобновилось через несколько минут после нажатия кнопки
Приложение.NET CF WinForms работает на устройствах Windows CE5 и CE7 с сенсорным экраном.
Мы подключаем к событию MouseUp, а не к Click в нашей реализации Button (из-за очевидных проблем с чувствительностью сенсорного экрана).
Мы также подключаем фильтр сообщений Windows к очереди сообщений приложения и отфильтровываем MouseDown
и / или MouseUp
сообщения, основанные на определенных условиях (например, подсветка экрана выключена). Обычно сообщения пропускаются.
Еще одна вещь, которую стоит отметить - все экраны в приложении реализованы как элементы управления и хранятся в памяти навсегда, просто отправляются в фоновый режим. Мы используем OpenNETCF
Кнопка2 и Приложение2.
Теперь есть очень странная проблема, когда определенные обработчики событий кнопки "застревают": событие вызывается при нажатии кнопки, как и ожидалось, но затем снова через произвольный интервал времени - иногда через 20-30 минут!
Тем временем будет происходить взаимодействие экрана, пользователь нажимает другие кнопки, оригинальный элемент управления экраном и кнопка становятся невидимыми, а затем внезапно - как правило, при следующем касании экрана - то же самое MouseUp
обработчик для этой кнопки запускается снова, а затем продолжает стрелять.
Это также происходит с разными кнопками в одной и той же определенной позиции на экране, а не с каждой кнопкой.
Основной вопрос здесь - как на земле может произойти событие (MouseUp
сообщение для этого конкретного элемента управления?) хранится где-то, а затем activated/sent
снова через некоторое время?
Контроль невидим ко времени, поэтому он не может быть физическим прикосновением, по-видимому.