If you're interested in learning GUI driven programming I suggest you try visual basic. It is probably the easiest introduction point for new programmers.
What I don't like about Visual Basic is that it's a bit misleading for new programmers.
Once they move on to bigger and better things almost nothing they learned from VB will carry over. The lack of C-syntax is one thing, and from what I remember from VB6, even fundamental programming concepts like declaring variables (optional in VB) and use of structured loops (use of Goto is actually encouraged for error-handling) are not learned properly.
Hell, despite being a beginner's programming language, some of the stuff in VB is completely unintuitive. Among other things, \n is easier to remember than vbCrLf, and what the hell does 'Dim' mean?
Also, in order to use the Windows API, you have to manually declare the function name, alias, DLL name, arguments, any required structs, instead of the much simpler method of typing "#include <windows.h>".
Perhaps my judgment is clouded by the fact that I am used to Win32 API via C and C++ and don't appreciate how difficult new programmers may find it. But, all in all, I would steer clear of VB.
C# is nice, though.