TER Volume 14, Number 1, June 2007: Windows Forms in Action

Technology Electronic Reviews
Volume 14, Number 1, June 2007

~ Return to more reviews in this issue

REVIEW OF: Erik Brown. (2006). Windows Forms in Action. Greenwich: Manning Publications Co. (ISBN: 1932394656; 9781932394658). 752 pp. $49.95.

By Jim Blansett

Windows Forms in Action, written by Erik Brown, provides a good foundation in one portion of the .NET Framework -- the Systems.Windows.Forms namespace. Erik Brown highly recommends this book for three sorts of readers: 1) Windows programmers looking to develop .NET skills; 2) Developers familiar with .NET or C# who want to know more about Windows Forms programming; and 3) the C++ programmer that has little experience creating Windows applications. Brown assumes that a successful installation of Microsoft .NET Framework SDK 2.0, or later, has been installed on your computer. While you will be programming in C#, you will be using the graphical tools provided in Visual Studio with one exception: Chapter 1 uses a C# command-line compiler. Brown provides screenshots of Visual Studio 2005 as examples. However, he suggests that readers can download a free copy of Visual C# Express (a version of Visual Studio) that will work as well, although, it will have a slightly different screen view.

This publication provides easy to read text, with each of the technical terms italicized. Code examples and fragments, as well as namespaces and types, and their members, are displayed in a fixed-width font. Portions of code that vary from an earlier edition appear in a bold fixed-width font, and many sections of code have numbered annotations that appear in the right margin. The most striking help offered by Mr. Brown are the "Action-Result" tables that appear, liberally, throughout the text. These tables are clearly identified by a bold heading that names the focus of the action. Numbered steps are provided in the first of the three columns in the table. The second column provides a description of the action to be performed. Column number three describes the expected "Results" from the preceding step. Each step (1, 2 ... ) is clearly explained as are the expected results. In addition, there is a "Try It!" section following the Action Table that provides suggestions or discussion of changes you can make to the project to provide further hands-on experience. The code for these additional aspects to the project example, as is all code, is provided on the publisher’s website. There is also free access to an Internet forum, "Author Online," provided by the book’s publisher where the author can be contacted. In addition, there are tables that explain classes, and four appendices which provide a C# primer, an overview of .NET namespaces, a Visual index of Windows Forms namespace discussed in this volume, and a listing of additional resources for C# and .NET Framework.

Windows Forms in Action provides many updates to the previous volume authored by Brown ( Windows Forms Programming with C#). This second edition brings the reader up-to-date with an explanation of how C# programming adds to the .NET environment. He also explores new tools such as Tool Strips, enhanced smart tags in Visual Studio, auto-recognition, and custom controls. In this updated volume, Mr. Brown has rewritten the entire text. He maintains that the chapters are more concise (although the book is expanded from 18 chapters to 23), and has a better separation of logic.

The early chapters of Windows Forms in Action begin to lay a foundation for later work. Chapter 1 offers a summary of the book and provides comfort to the reader in their early efforts by reminding them not to become too involved in this early exposure because much more will be revealed later. This chapter introduces Windows Forms programming and covers some fundamentals of C# language and .NET Framework. This early work uses a C# command-line compiler that allows focus on the sample program. Erik Brown draws references from previous experience with programming languages through comparison between languages. For example, when explaining reference types in C#, Brown explains "This is much like an object reference in C++, or a pointer in C." These types of references run throughout the pages of this book. Those who have had exposure to these languages will find this particularly helpful. By the end of Chapter 1 you will have built an application, MyForm, which contains a blank form with a Load button that will allow you to select an image file to display on the form. Chapter 2, and subsequent chapters, use Visual Studio to rebuild this early example into the MyPhotos application, allowing an exposure to, as Brown explains, the "subtleties" of .NET and C# and adds perspective to work in Chapter 1.

Windows Forms in Action is divided into three parts. Part 1, "Hello Windows Forms," provides exposure to C# programming, and the use of Visual Studio. Part 2, "Basic Windows Forms," continues to add to the MyPhotos application created in Chapter 2. Menus, status strips, reusable libraries, files and dialog boxes, text boxes, buttons, handling user input and encryption, list boxes, combo boxes, tab controls and pages, dates, calendars and progress bars, tool strips, and other bells and whistles such as bitmaps, icons and cursors are explored. Part 3 builds on the foundation built in the first 2 parts of this book and adds the MyAlbum Explorer application by incorporating custom controls, Explorer interfaces and treeviews, multiple document interfaces, data binding, and finally, various odds and ends such as printing, drag and drop, the WebBrowser control, application setting, and finally deployment.

With the advent of the Microsoft Vista operating system and .NET Framework 3.0, there are further revisions to .NET Framework that are not included in this edition. This fact should not negate the value of the present edition for readers with the background and interest in working with Windows Forms.

Erik Brown’s Windows Forms in Action is not a book for novices. Brown was correct in advising that a certain background will be needed to make the best use of his recent offering. Individuals with an interest in Windows programming looking to develop .NET skills, as well as developers who are familiar with .NET or C# who want to know more about Windows Forms programming, will find this volume useful. The C++ programmer with an interest in creating Windows applications will find the authors approach to bridging the gap between C++ and C# useful. Windows Forms in Action is a well-written work that provides easy to use action tables and clear steps that afford the reader a well-developed description of the desired results. Individuals with the right foundation will find this volume an interesting and useful addition to their library.

Jim Blansett is Information Resources Librarian in the McLure Education Library of the University of Alabama

Copyright © 2007 by Jim Blansett. This document may be reproduced in whole or in part for noncommercial, educational, or scientific purposes, provided that the preceding copyright statement and source are clearly acknowledged. All other rights are reserved. For permission to reproduce or adapt this document or any part of it for commercial distribution, address requests to the author.

Technology Electronic Reviews (TER) is an irregular electronic serial publication of the Library and Information Technology Association, a division of the American Library Association, 50 E. Huron St., Chicago, IL 60611. The primary function of TER is to provide reviews of and pointers to a variety of print and electronic resources about information technology. Resources include books, articles, serials, discussion lists, training materials, bibliographies, and other items of interest to librarians and information technology professionals. The topics covered may include, but are not limited to, networking technologies and standards; hardware and software; operating systems; databases; specific programming languages; management tools and utilities; technical project management; training and personnel issues; library perspectives; and research and development.

Opinions expressed in this publication are those of the writers and do not necessarily represent the viewpoints of LITA, ALA, or organizations involved in the storage and/or distribution of the publication.

TER is distributed electronically via Internet. There is no subscription fee.

LITA provides its members, other ALA divisions and members, and the library and information science field as a whole with a forum for discussion, an environment for learning, and a program for action on the design, development, and implementation of automated and technological systems in the library and information science field.

LITA home page | TER home page