Get a job where you are required to program in it, that's how I am, ummm, learning. Of course, buy book 3 days before with a trial visual studio version included and try out a couple of examples first ;) ok, so I'm not being useful, sorry. Actually, when I was looking for books, they all seemed to be entirely about GUI stuff, or entirely NOT about GUI stuff, there wasn't really anything that seemed to talk about both. This was from a limited selection though. Plus, the books that talked about the basics were WAY too simplistic. Yes, I wanted to know the basics, but I didn't want to spend a whole chapter on each item. I got it after the first paragraph, thanks. But the harder books didn't include any basics so I had no idea what they were talking about. Of course, if you are new IN PROGRAMMING rather than just new to C#, maybe you won't have that last problem; maybe the basics will require more than a paragraph to get. Get a book, try some stuff from it and work through it. Then try and do something harder, and you will soon discover what you don't know and the real learning will start as you try to find the answer.
"Your typical day is full of moments where you ask for a cup of coffee and someone hands you a bag of nails." - Scott Adams