I am considering using C# since i have taken classes in VB.NET and have used winforms quite a bit. However, i would love to use C++ what are your thoughts?
If you want to use Windows Forms, and C++, then you might use C++/CLI (formerly known as Managed C++). This uses extensions to C++ to support .NET, and is the only .NET language that allows mixed CLI and native code, so once you glued you interface code to your application code, you can use ISO C++ exclusively.
That said except where I have been implementing an interface for existing C++ code, I have found it easier to simply learn C# which is designed from the ground-up to be a .NET language so is generally a much more comfortable fit.
In the ISO C++ arena, choices include Qt and WxWidgets, both of which are cross-platform and well supported by books and on-line information and communities.