I have personally learned to make desktop applications in VB.net, although when you require more power it might indeed be a good idea to advance with C#.
As for the method to learn: I advise, against the answer of the other person above me, to NOT use a book or class, and try to find information yourself. A curious and self-reliant programmer will almost by default write better code than a programmer that has simply learned to do what someone else does. It's best to search on Google for "VB.net Tutorial" or "C#.net Tutorial" and start from there. Try out different styles of coding (use of spaces, capital letters, etc.) and find out what works best for you, while keeping your code readable. A good source of reference for .net languages is the Microsoft MSDN documentation (you will probably end up there when looking for a certain question about a .net language on Google), which is also included in the Help functionality of Visual Studio. A good reference and example source for programming in general is http://www.java2s.com/.
You can get the (free) Visual Studio Express software at http://www.microsoft.com/express/.
A few general programming tricks:
* Don't stick with just one language. There may be a language that you have not yet found, but fits your goals better. Try to experiment, and switch to a different language if you think it is a better idea. Use good judgement.
* Always try to learn. You have never learned enough.
* Don't just copy code. Try to write your own. If you copy snippets of code from examples or other (Open-Source) code, try to fully understand what it does, before actually using it. It's always rewarding in the longer run to understand code, and it makes it very easy to find the cause of bugs.
* Don't just do what other people do. What works for one, doesn't have to work for someone else. A different approach might suit you better.
* Start small. Make small applications to experiment with a language, then gradually grow bigger.
* Never work on more than two concurrent big projects at the same time, and avoid working on more than one extremely time-consuming project, or a project that has a deadline. Stress will increase, you will keep thinking "oh ****, I still have to do this and that" and work won't get done (I know this from personal experience).
* Rest and eat properly. Staying up an hour later than intended to get that little piece of code done is OK, just maintain a steady rhythm or you won't be able to concentrate.
* When people say you can't do something, ignore them. It's just more reason to show them that it can be done. I have personally set up quite a few projects successfully, of which other people have claimed them to be impossible. Something is only impossible when you have tried your best, and still failed at it. Even then, it may be possible later.