Categories, subcategories and properties are shown as they are created, i.e. in a tree hierarchy. They can also be displayed as a flat list, sorted or not.
An optional toolbar can be displayed at the top of the control so that the user can switch between categorized and flat modes.
Below the PropertyGrid, an area can display an optional comment related to the currently selected property or category.
Building the content of the PropertyGrid is easy: append, insert, remove, clear. Then, just set some settings to your properties.
All basic types are covered from a simple integer to a date or time.
Each property type can be edited with the inplace control you choose.
A property look class can be applied to any property value to display it in a custom way.
A unique feature that allows complex selection of multiple properties.
Each property type has an underlying string representation and this has a lot of advantages, internally but also for you.
Easily add the PropertyGrid to an existing application by linking each property directly to your variables. When starting from scratch, this is also very handy to decouple the control from your data.
Constraints can be attached to values. This is a generic concept that allows to create listboxes, radio buttons, ... anything that displays a list of choices.
Display complex properties as a group with a master property. And this is not only for an "X; Y" value here ... It is far more powerful.
A property can span across several rows. The first implementation of this nice feature is for radio buttons.
Properties and categories can selectively be shown or hidden. This is of course recursive when applied to a category.
Properties and categories can selectively be enabled or disabled. This is of course recursive when applied to a category.
Add an icon in front of an item label for a professional touch. More than 16 colors is of course supported.
Be notified by every important event generated by the PropertyGrid.
Move the column separation for improved visibility or automatically best fit the labels column.
Property values use inplace tooltips when their text is truncated.
The control is fully workable with the keyboard and it uses normalized keys.
Simply scroll vertically the content of the PropertyGrid with the mouse wheel.
Simple use of iterators (a la STL) to parse the tree (parent, children, sibling items, visible or not).
You can choose between a classic and .NET style for the general appearance of the PropertyGrid.
Full support of XP themes for inplace controls.
The frameword makes it easy to add your own data types.
Almost all drawing operations can be customized for specific client behaviours.
Customize the appearance of a property value with a "Look" class.
Customize the way the user can edit a value with a "feel" class.