I have found few books which will tell you "use this when x, use that when y". I have found that the best way to become proficient with topics such as "when to use what" is to start using the "what"s and learn how they work. The classic "when to use what" question is almost always answered with "it depends". It will always be determined by what and how you need to do something.
Get a book that will teach you
how to use the classes available to you and you will soon be able to answer for yourself the question of
when to use those classes. One of the best resources I have found is the
MSDN Library .NET SDK Reference. Spend a few hours looking around in there and you will learn a lot. Something that I used quite a bit when I was starting out with .NET was Visual Studio.NET's Intellisense. You can learn what methods and properties are available on what controls simply by hitting "." and scrolling thru the member's list. If VS.NET is not available to you then the online reference would be a good place to start.
Peter
-------------------------
Work smarter, not harder