with some reservations
First up, if you're familiar with other titles by Charles Petzold, then the basic content of this book will come as no surprise - lots of code listings and an explanation of what's going on in the code. All the code is written "Petzold Style" (his term) which means no generated code from the Microsoft Form Designer. That at least makes the examples *much* more concise. Nevertheless, a couple of the examples cover 7 pages or more.
A lot of the book is given over to general Windows Forms programming, but it does cover some aspects new to Windows Forms in Visual Studio 2005 - notably dynamic layout and tool strips. Also covered in reasonable detail are custom controls and data bound controls. This last topic especially interested me, because it's not just about binding controls to a database; you can bind controls to each other.
My reservations come from two observations. The first is that he makes almost constant reference to his previous publication "Programming Windows with C#", which makes me feel this book is incomplete without that companion. The second is that despite depending on references to that other book, the whole first 2 chapters of this one probably cover much of the same background information - around one quarter of the book.
That apart there is little to criticise on the technical content. One or two hideous hacks when the code strays a little off the main road, and a few seemingly out-of-place tutorials (how to create a test program for a DLL project, using ClickOnce deployment). This being Charles Petzold, even in C# the code uses a kind of Hungarian Notation (my favourite is szImage - no not a null-terminated string, but a Size struct!), and the code is pretty much written in a straight line, so to speak, but this isn't a book about style, it's about Windows Forms techniques. I wouldn't describe this book as a "must have" for Windows Forms developers, because a lot of it rehashes old ground, but I expect most Windows developers would find it useful.