Skip to content
| Marketplace
Sign in
Visual Studio>Controls>Smart PropertyGrid.Net for WinForms
Smart PropertyGrid.Net for WinForms

Smart PropertyGrid.Net for WinForms

VisualHint

|
9,723 clicks
| (31) | Free Trial
SPG.Net is undoubtedly the best 100% managed PropertyGrid for .Net 1.1, 2.0, 3.x and 4.x. By creating the right end-user experience, it definitively supersedes the original Microsoft PropertyGrid.
Get Started

Custom PropertyGrid

What's new in 3.x

  • Support for right to left languages is handled by completely mirroring the grid and its inplace controls. SPG will fit nicely in a RTL application.
  • Lazy loading boosts SPG's performance and enables filling the grid with very large contents (see thisscreencast).
  • An image can be displayed in front of a property value. It can be tied to the current value when several possible values are published or it can represent a state like a mandatory field or a warning. Your application decides what you want to do with images (see this screencast).
  • Incremental search is a very practical feature that enables the user to type a few keys to get the value he wants when several possible values are published. This happens in textboxes and dropdown contents, even when this is in a UITypeEditor whose source code is inaccessible (like the ColorEditor for instance).
  • Default values can be displayed in bold, like in the Microsoft PropertyGrid (see thisscreencast).
  • Checkbox look and feel class can target nullable booleans to create 3-states checkboxes.
  • Many more features (consult the changelog)

Dynamic content

No obligation to just target an instance anymore. It is now easy and intuitive to create properties on the fly that can be linked to actual object properties or not. Furthermore, it is possible to append, insert, delete, show, hide, enable or disable any property, category or subcategory. Even the content of a listbox can be dynamic and filled on demand.

Dynamic content

Nested categories

An infinite number of categories can be nested under the top level allowing you to create complex hierarchies of data. For example a complete xml tree could be displayed by Smart PropertyGrid.

Nested categories

Many built-in editors

The Microsoft grid offers two inplace controls which are the dropdown button and the plain button for modal frames. With SPG you have no less than eleven built-in editors and the possibility to create new complex ones. An inplace control can even edit several values in the same row as showcased by the Unit editor (a value and its unit). The built-in editors are (most of them can contain a textbox): button, checkboxes, alpha color popup, date and time, dropdown list, masked textbox, radio buttons, textbox, trackbar, value with unit (or anything in a listbox) and updown buttons.

Property feelsProperty feelsProperty feelsProperty feels

Global appearance customization

Built-in drawing managers allow changing the global aspect of the control. The developer can create his own one to fit the aspect of his application. A drawing manager has access to any part of the PropertyGrid, so there is no difficulty to change the appearance of a +/- glyph or the horizontal line between the grid and the comments area.

Appearance customization

Property customization

Besides what can be done by a drawing manager, a property row can be customized by changing fore and back colors as well as its font and it can be done independently on the label and value parts.

Property customization

Visual quality

A great care has been observed to display every part of the control. Inplace controls are properly aligned up to the pixel and pleasant proportions are used to display text with customizable margins. Accessibility has been taken into account by letting the developer choose every parameter of the drawings. As an example, if a light gray is not suitable for disabled items, this color can be changed. All the screenshots on this page demonstrate this fact.

Navigation

PropertyEnumerator is the base class to navigate through the properties of the grid. It is possible to navigate the tree in deep order (this is the order used for display), to access sibling properties only or a parent, and in all cases you can navigate both ways and remove from the browsing all hidden properties.

Navigation

Notifications

The client application can receive a lot of notifications to react accordingly, like property value and state changes, property creation, request for an UpDown control increment, and so on.

Notifications

Property value validation

It is trivial to attach a validator to any property that will check a newly entered value. Contrarily to the MS Grid, you decide what action to take when a validation fails instead of showing an automatic annoying popup to the end-user.

Property value validation

MS PropertyGrid compatibility

Although it is recommended to use the new dynamic techniques to fill the PropertyGrid, SelectedObject can still be called on an instance of a class. You could even mix both techniques. SPG tries to be as much compatible as it can be by using existing UITypeEditor, TypeConverter, attribute classes or ICustomTypeDescriptor interface. But moreover, it adds a new layer of functionalities, mainly with attributes, to let you customize deeply what is really displayed.

Microsoft PropertyGrid compatibility

Properties sorting

When using methods like AppendProperty, you control the order of appearance in categorized mode. But when using SelectedObject, SPG introduces new ways to sort your properties. The first one, if you have access to the target class code, is to attach a sorting index to all properties. The second one is to use a PropertyComparer class that will handle all the work.

Hyperlinked properties

Hyperlinks in SPG can be twofold. First, a single row can contain an underline blue text that will act as a command when clicked. But it is also possible to "hyperlink" a property value and to assign it a URI format.

And a lot more...

Smart PropertyGrid is also made of those details that completely change the way you will use a PropertyGrid. You can customize the tooltips and the text ellipsis. You can define the behaviour and appearance of readonly properties, assign imagelists to property values, lock the resizing areas, search properties, and a lot more.

Too many features

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft