LogoASPAlliance: Articles, reviews, and samples for .NET Developers
Review: Windows Forms Programming in C#
by Teemu Keiski
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 28906/ 85


Windows Forms is one of the main application types in .NET. It provides the means and tools to build stand-alone client applications that utilize the features of the .NET Framework. I was given an opportunity to review the latest Windows Forms book "Windows Forms Programming in C#" by Chris Sells. 

I have strong background in web application development, especially with ASP.NET, but I don't have any prior exposure to the Windows Forms except certain things related to the design-time features of ASP.NET. Therefore this was a good chance for me to get into the basics of Windows Forms and of course getting into the subject of this article, that is, how valuable the book was in the process of learning the technology. I haven't read any previous book by Mr. Sells but I certainly have heard of him so my expectations were high.

This book is targeted both at programmers who have programmed in .NET and who haven't. People reading this book will need to have basic understanding of C#.

Basic Information

The book has 681 pages in 15 chapters and 4 appendixes including the index.


1. Hello, Windows Forms
2. Forms
3. Dialogs
4. Drawing Basics
5. Drawing Text
6. Advanced Drawing
7. Printing
8. Controls
9. Design-Time Integration
10. Resources
11. Applications and Settings
12. Data Sets and Designer Support
13. Data Binding and Data Grids
14. Multithreaded User Interfaces
15. Web Deployment


A. Moving from MFC
B. Delegates and Events
C. Serialization Basics
D. Standard WinForms Components and Controls

The publisher, Addison-Wesley maintains a web site for the book at:{B757E215-0FB4-4EA1-A051-65EE537AE9C7}

The author has also a web site for the book at: where is also a code download and errata located as well as a more detailed table of contents. There are separate downloads for Visual Studio .NET 2002 (.NET Framework 1.0) and Visual Studio .NET 2003 (.NET Framework 1.1). The samples are organized chapter-by-chapter and example-by-example basis and it is easy to follow and navigate them while reading the book though there were some minor issues as I explain in the Cons section.


I start right away with the best thing. The book is written with very great consideration and insight. The content is fluent to read which makes it easy to adapt and learn. The book is separated to logical chapters which build the subject on top of the previously learned things and same logic is used when carrying the discussion inside a chapter. Therefore there should be no problem in understanding what is discussed.

After reading a couple of paragraphs from first chapters it is clear that the book has something major to say about the subject and the author has very strong insight to the things he discusses. Every good book has always a good plot despite the subject and this book makes no exception. The code examples are very practical and are very accurately targeted to the every particular context they are represented in.

Generally the book is top quality content and it is hard to raise anything else that is top over the others. The book is absolutely in my Top 5 list so far.


My complaints are related to the code examples and appendix chapters. I personally like to type the every example the book has because I believe that’s the only way reader can truly learn the subject. This is especially true when learning new technology or sub technology one needs to understand at the code level. 

As I said the code examples were very practical and accurate but not all of the relevant codes for the examples were included on some examples. It is perfectly understandable at general level from author’s standpoint and that’s why the code download exists but especially at the first chapters it caused some confusion as I needed to dig the whole code from the code downloads as I wasn’t sure what I was supposed to have as a whole to get the example to work. It bit ruined my habit to type the examples, but that’s very minor issue after all. I state that it was the problem in the first chapters when grasping the basics. I had these feelings especially in drawing related chapters. I think having full examples on these chapters would have made them slightly better.

Even though delegates and events as well as serialization basics are very important part of the .NET Framework and provide general knowledge related to the application development, I think it wouldn’t have been necessary to cover the basics of them even as brief appendix chapters. Author explained in the preface that these topics are of special importance to Windows Forms programming and therefore they are covered, but I think that the reader still must be familiar with C# before reading this book. Every self-respecting C# book author has covered these subjects already thoroughly. Therefore it would have been valid to assume that the reader is already familiar with these concepts and just go through things from Windows Forms angle.  The saved space could have been used for a case study for example.


I believe you already understood that this is a great book despite the issues I told about. If you are looking for a Windows Forms book, don’t let this one slip out of your hands. The book has such insight and experience included that every reader, beginner and professional, will get benefit from reading it.

Product Spotlight
Product Spotlight 

©Copyright 1998-2021  |  Page Processed at 2021-10-20 1:16:57 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search