Why use a PropertyGrid in your application?

A Property Grid is a two column-grid that displays a set of label-value pairs. These can be edited using a variety of editors. The display is not linear but – above all - a tree in which each property belongs to a hierarchy of categories. This is a great control for showing a lot of data and/or when the space is limited. It also suits people who like concise presentation. The only alternative is to develop several tabbed forms of non-trivial size.

However convenient, a PropertyGrid must not harm usability and accessibility for the end-user. The Microsoft PropertyGrid is a developer tool and not a practical end-user component. That's why Smart PropertyGrid has been rewritten from scratch, with features corresponding to user requests.

The possible uses are so numerous that there's only space for a few examples of applications making smart use of the PropertyGrid…

To display the properties of a selected object

Sony DVD Architect with PropertyGrid The programmers of DVD Architect at Sony understand the usefulness of a custom PropertyGrid in a docked toolbar. In this application, the grid displays all the properties of the selected element on the canvas. They've developed their own control with enhanced usability and a new overall appearance. They also understand the importance of inplace controls, i.e. editors like sliders, checkboxes or up/down buttons that edit the value in the field, rather than in a dropdown window.

AutoCAD with PropertyGrid AutoCAD is the world leader of the CAD/CAM software and needs no further introduction! The new 2007 edition is a gem, with many UI additions such as a very nice dashboard. Amongst all these, you can still find a PropertyGrid-like control. There is no better way to simplify the editing of object properties, so the developers at AutoDesk didn't hesitate to use this proven component.

Visual Studio, of course, uses the Microsoft PropertyGrid component. It's a handy way to enable the developer to edit a batch of properties belonging to any selected object, whether a file or a form on the designer. However it lacks a lot of features and even has usability issues for the end-user. (That's why SPG exists.)

To show program settings or a configuration in the active context

Doc-O-Matic with PropertyGrid Doc-O-Matic, a great documentation generation tool, makes two uses of the PropertyGrid. When the application displays a class diagram of the currently loaded project, an adjacent PropertyGrid enables the user to configure the drawing. The list of variables is quite long, so it would be very tedious to define custom dialogs for editing them. Doc-O-Matic with PropertyGrid The PropertyGrid is also used to edit all the keyboard shortcuts. There are a lot of possible shortcuts, so it's handy to have them listed and categorized in one window, complete with toolbar and menu icons.

To request user input or display a collection of label/value pairs

Finalbuilder with PropertyGrid FinalBuilder, the famous automated build tool (that I personally use), gives its users the best of both worlds. Each action placed in the build can be edited via