The MouseUp event is fired a few minutes after the button is pressed.

.NET CF WinForms runs on Windows CE5 and CE7 touchscreen devices.
We are connecting to the MouseUp event rather than Click in our Button implementation (due to obvious problems with touch sensitivity).

We also enable the Windows message filter in the application message queue and filter messages MouseDownand / or MouseUpbased on certain conditions (for example, the screen backlight is off). Messages are usually skipped.
Another note - all screens in the application are implemented as controls and stored in memory forever, just sent to the background. We use OpenNETCFButton2 and Application2.

Now a very strange problem arises when individual button event handlers "get stuck": the event is fired when the button is pressed, as expected, but then again after a random time interval - sometimes after 20-30 minutes!

Meanwhile, there will be interaction with the screen, the user presses other buttons, the original screen control and the button becomes invisible, and then suddenly - usually the next time you press the screen - the same handler MouseUpfor this button starts again and then continues to fire.

It seems that this happens with different buttons in the same position on the screen, and not with each button.

The main question here is how can an event actually happen (message MouseUpfor this particular control?), Somewhere somewhere, and then activated/sentagain after a while?

The control is invisible by then, so it cannot be a physical touch, presumably.

+4
source share

All Articles