I vote for C# over VB.Net, just because the syntax is aimed more toward people with a background in C (even more so C++) whereas VB.Net has its roots in a language that was designed to get non-programmers into programming. However it's true that both C# and VB.Net are equally expressive and capable.
A book or three on C# (the language), .Net (class library and virtual machine), WinForms (the UI library) will almost certainly be very helpful. You'll need to acquire a fair amount of 'background knowledge' before your productivity really ramps up but once you get moving I think you'll find that coding with C# and .Net is still just coding, only you have a really great infrastructure that helps you get more done in less time.
Also consider reading up on "unit testing" and "test driven development." They are just strategies for delivering higher-quality software with less effort. It takes discipline but once you get into the habit of developing with automated testing you'll see the rewards and you'll never want to go back. NUnit is a free tool to help with this, and the commercial versions of Visual Studio include test automation as well.