I also vote for starting with a good book; several years ago, books by Charles Petzold (the first book I could get), and, then, Jesse Liberty, seemed most helpful to me; later books by Matthew MacDonald. And, much later, books by Andrew Troelsen and Chris Sells.
My strong recommendation would be for you to get Liberty's .NET 3.5 edition of Programming C#[
^]. Speaking as someone who has worked as a paid technical editorial consultant on two best-selling .NET books from Addison-Wesley, my humble opinion is that Liberty has a kind of "genius" for explaining things (as does, for much more advanced topics in .NET and C#, the one and only "guru of gurus," Jon Skeet ... who publishes via Manning Press).
And, there are free books: Anoop Madhusudanan, one of my favorite bloggers (amazedsaint's #tech journal) publishes this list:[
^]
And, I'd also suggest you try to define small problems for yourself that will test your knowledge, and get you writing and testing and debugging code.
For example:
1. on a Form put a TextBox, ListBox, and Button. Put Labels near each of these controls that explain what they are for or what they do.
a. when the user types a list of words separated by commas into the TextBox, and clicks the Button:
a.1. first test the text entered: make sure it contains exactly groups of characters separated by commas : if it doesn't: erase the TextBox contents, and put up a message dialog to the user reminding them of what they need to enter.
a.2. if the text is valid when the button is clicked, then take the TextBox contents, and figure out how to parse it into separate words or groups of characters, and filll the ListBox with each word (or group of characters) between commas. The commas being ignored.
As you are ready, pose problems to yourself that are a bit harder: write your own simple text editor, write your own clock that allows you to select multiple time-zones.
Find your own "unique groove" that satisfies your interests and longer-term goals, and start defining tangible small goals that you can break out into achievable prototypes. Hopefully, that's when your mind will "catch fire" :)
And ... when you get stuck ... search here on CP, and/or StackOverFlow. Spending time learning how to skillfully use search on CP and SO (and Google, of course) will be a tremendous asset to you in the future.
Searching CP and SO can also teach you how to frame your own questions that you may want to ask, as you, as we all do, 'get stuck.'
Now, if you like math problems, there's a great site, Project Euler[
^] full of a range of math problems meant to be solved by programming, ranging from easy to very difficult: an excellent source of programming challenges.
Finally, look at projects on CodeProject that really interest you, and download and study their code. CP not only has great articles, but also excellent tutorials on almost every aspect of .NET.
bon apetit, Bill