If you're doing mostly simple programs than C# and .NET is probably the way to go. You can crank out simple applications a lot faster than in c++. There are trade offs though. You aren't able to manage memory directly. You will enjoy the object oriented aspect of C# though.
If you're a C++ programmer I guarantee you will absolutely hate Visual Basic. It's just... it's just not very good.
If you want to learn about GUI programming using C++ then I suggest you read up on the win32 API. It takes a while to learn, but it's well worth it. You can also create GUI applications using C++ and .NET. I have very little experience with this, but it seems pretty easy. The big plus about it is you are able to use elements of both .net and the STL.