Best to start with determine the requirements for your GUI-enabled product. It is no secret that handheld devices have limited resources, which particularly affects the choice of technology is here less the performance of the managed environment can be particularly noticeable. On the other hand, there are a large number of fairly large applications, even from the category of Enterprise that are written in managed environments, J2ME, C#. So there is two ways.
If your app is simple enough, C# is the best choice — the difference between desktop and mobile versions there, both in ideology and in tools, so the result you will get a fast, and performance will be quite tolerable. C# is very easy to learn if you know C++.
How to start: to install Studio supports development on Handheld-devices (so-called Compact Framework), device emulator, open a simple GUI sample, try to compile and deploy on the device. Then start here, for example:
— Compact Framework Developer Guide: msdn.microsoft.com/ru-ru/netframework/aa497273
— a good book for the developer .net CF: rutracker.org/forum/viewtopic.php?t=914236