Pro .NET 2.0 Windows Forms and Custom Controls in C#
Book Summary
|
- Title: Pro .NET 2.0 Windows Forms and Custom Controls
- Author: Matthew MacDonald
- Level: Intermediate to advanced
- Publisher: Apress
- Pages: 1037
- Rating: 4 of 5
|
Review
This book is targeted at developers knowing forms based programming in older
tools such as VB6 or even .NET 1.x. Though initial chapters contain introduction
to .NET framework you may think of considering some introductory book on .NET
before choosing this one. Especially you need to know C# language and ADO.NET
before starting this book.
The book consists of five parts namely:
- Windows Forms Fundamentals
- Custom Controls
- Modern Controls
- Windows Forms Controls
- Advanced Custom Controls
The first part covers the basics such as Windows Forms, controls, resources,
GDI+ and data binding. The second part focuses on custom control development.
The third part concentrates on new controls such as tool strip, menu strip,
WebBrowser and DataGridView. The part four covers validation, SDI/MDI and
multithreading. Finally, part five covers advanced topics on custom controls.
The Appendix A elaborates user interface principals and Appendix B covers
ClickOnce deployment. An appendix on C# language and ADO.NET would have been
great additions.
The book gives an excellent coverage of broad range of topics. Since the .NET
1.x days there has always been a deficiency of Windows Forms books as compared
to ASP.NET. This book nicely and neatly covers major parts of Windows Forms
development that developers come across in real world projects. The code samples
presented in the book are good and work without much of corrections. The author
has explained various concepts in clear language.
Chapter 1 introduces the reader about object orientation, Visual Studio and
Windows Forms basic concepts. Chapters 2-4 cover Forms and classic controls such
as TextBox, Button to DateTimePicker. The features such as Autocomplete, drag
and drop and notification are also covered. The resources and localization is
the subject of Chapter 5. This topic should have been given some extra emphasis
but overall coverage is satisfactory. Chapter 6 covers two important controls -
TreeView and ListView.
Some books I read in the past spend too much pages on GDI+ but here author
has nicely covered the topic in just one chapter. GDI+ is used less in business
data driven applications and many developers find it boring and wasteful to
learn about it. Nevertheless it is an important topic (especially if you are
custom control developer) and covered neatly in Chapter 7. Similar is the case
of Chapter 16 in which the author concisely deals with sound and video.
The book lacks a chapter on ADO.NET. Though the author has clearly mentioned
this fact, learning data binding concepts without ADO.NET background is bit
difficult. The chapter on data binding (Chapter 8) is inadequate. Some sound
real world examples should have been added including UI design considerations
for master detail forms, transactions etc. The new and exciting DataGridView
control has been allocated a separate chapter of its own (Chapter 15) and covers
almost all the basic tasks with the control such as formatting, data binding,
column types and customizing. It also provides pointers on using DataGridView
control more efficiently.
Almost all the new controls are covered (Chapters 14, 15 and 17). They
include WebBrowser, ToolStrip, MenuStrip and StatusStrip.
There is a dedicated chapter on Help creation (Chapter 22) which I found
missing in some other books. Windows Forms programming is not just about using
controls. Developers often need to deal with tasks such as validation, masked
editing, executing long running tasks in the background, dynamic control
creation and so on. Many of these tasks are covered in Chapter 18, 20 and 21.
The books has heavy emphasis on custom controls with nine chapters dedicated
to the subject. All the types of custom control development viz. User Controls,
Inherited controls and Owner Drawn controls are covered in detail (Chapter
10-12). Advanced techniques such as skinning and design time support are also
covered with ample details.
If you are looking for a clear and detailed understanding of Windows Forms
2.0 concepts along with thorough understanding of custom control development this
book is for you.