That said, I myself am a .Net fanboy.
IF you decide to go .Net, just stay away from VB.Net... it has sort of become the running joke in the .net community and is seldom supported with material, sample code, etc. (I'll save the reasons incase a VB.Net fanboy starts crying ITT)
I would recommend C#... the language is easy to pick up (strikingly similar to java) and has great amounts of support from development communities. Also, visual studio.net is just so damn intuitive that it makes scripting so much simpler than say the dark years of the 90's and early 2000's. Also, due to its inherent structural similarity to Java and C, you can easily learn Java, C, C++, and Objective C (iOS applications).
There are a variety of books/online material you can get started with but I would recommend the following to start with since they are structured differently than technical books for advanced users (won't confuse and/or bore you to tears) but still allow you to ease in with a running start and learn quite a bit before advancing up the ladder:
Books to build on the core foundations of programming:
Books on just OOP (object orientated programming) to get familiar with how the OOP environment works (modular environment, encapsulation, initialization and instantiation, etc.)
Books on discrete mathematics... something I highly recommend since virtually all of your applications are going to utilize these elements (logic, number theory, topology, discretization, algebra, etc) when scripting. (How can you create conditional statements if you don't understand logic!)
A book on databases... Learn SQL... Learn how to create proper database schemas and learn things like relational databases. Most programs you will create will need to store and extract information so the more you understand about SQL and databases in general (e.g. design, data integrity, relations), the easier it will be for you to design your application and scale them.
books for learning programming c#
Any of the "Head First" group of books (e.g. Head First C#)... they are a new and fun way to learn utilizing an unconventional approach to teaching which has been having rave reviews.
A reference book for the language your building in (e.g. C# Language Pocket Reference from O'Reilly publishing)... insanely valuable to locate specific information when you get "brain block" and need to figure out a specific piece of information
I guess that about wraps up would I would advise for beginners.... lastly pick up Visual Studio and tinker around... Pick up Microsoft Access to get exposed to databases and play around...
Most of the stuff you will learn will be as you go... I always learn the most after hours of debugging... and just like poker visit forums, look at sample code, and play