We have an Windows Mobile 6 project that have been up and running for two years.
While developing a new version the cursor changes have stop work on some of our devices.
The most problematic place is when change forms. The code is basically:
Cursor.Current = Cursors.WaitCursor;
ShowForm(FormSettings);
FormSettings.ReInit();
Cursor.Current = Cursors.Default;
The WaitCursor appears but never disappears.
When debugging I can clearly see that all lines of code are executed and after the last statement I can check the value of Cursor.Current in the “watch” or “Immediate” window and see that it clearly is set to Cursors.Default (or rather the value of Cursor.Default – something with “ARROW”).
More information:
If I in the end of the FormSettings.ReInit() add a MessageBox.Show("") the cursor will dissapear/become Cursors.Default.
The solution to this problem was to handle all the cursor changes in the code of the forms.
Not sure why half of it worked even in the other approach but now it all works.