Preface
In the past few months, a deluge of .NET books has hit store shelves, each one eager to explain the new programming philosophy of the .NET world. In the excitement, many of these books have left out the tricks and insights you need to really master .NET programming. Part of the problem is that no single work can cover the entire .NET platform-a sprawling, ambitious framework that revolutionizes everything from Internet applications to data access technology. Many .NET books provide a good overview of essential concepts, but they can''''t deal with the subtleties needed for all types of development.
This book represents the start of the second wave of .NET books: closely focused works that give you the insight of experienced developers about a single aspect of .NET programming. User Interfaces in C#:Windows Forms and Custom Controls takes a close look at all the ingredients you can use to design state-of-the-art application interfaces. It also delves into entirely new topics like custom control design and GDI+, the next-generation painting framework for Windows. You don''''t just learn about anchoring and docking, you work with examples that show document-view architecture, custom control layout engines, dockable windows, and hit testing with owner-drawn controls. You also learn how to design irregularly shaped forms, unshackle data binding, and build an integrated help system.
In short, this is the sort of .NET book that I would want to read as a professional developer. It''''s a book that goes beyond the basics, and combines user interface design principles with practical guidelines for creating the next generation of software applications. And seeing as you are reading this introduction, you''''ve probably already realized that this next generation will be built using the .NET Framework.
Acknowledgments
This book has been, comparatively speaking, a lot of fun to write. As a result, I have a long list of people to thank.
Gary Cornell never ceases to amaze me with his ability to respond to emails mere seconds after they''''ve departed from my outbox. I''''m indebted to him for quickly and painlessly signing me on for this project. I also owe a sincere thanks to a number of other individuals at Apress who helped everything move swiftly and smoothly. They include Sofia Marchant, Kari Brooks, Grace Wong, Stephanie Rodriguez, and doubtless many others I never interacted with directly.
Gordon Henshaw performed the technical review for the C# edition of this book, and Gordon Wilmot performed the technical review for the VB edition. Both provided invaluable feedback. Anne Friedman performed the copy editing, and her unerring light touch helped guarantee the final polished product. I owe a heartfelt thanks to all.
Finally, I''''d never write any book without the support of my loving wife, her parents, and my parents (who started this whole mess with two gametes at the right place and the right time). Thanks everyone!