Standard editors
.Net Grid supports multiple ways of cell editing based on UITypeEditor and standard editors used in the PropertyGrid control.

There are several types of these editors including controls that can be displayed in a dropdown box or as a modal dialog.
Such editors enable users to edit text, colors and enumerations and to perform painting in small rectangles inside cells. There are plenty of predefined editors.
For example, you can get the color editor as follows:
UITypeEditor editor = (UITypeEditor)TypeDescriptor.GetEditor(typeof (Color), typeof (UITypeEditor));
To edit values, these editors use the EditValue(...) method. Within this method a mandatory control is created and placed in the dropdown box. You should note a very important detail – the return from the function EditValue(...) occurs only when editing within in the control is completed, which is convenient from the programmer's point of view. Look at this example:
object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService service = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; using (SomeControl control = new SomeControl(value)) { service.DropDownControl(control); value = control.NewValue; } return value; }
The .Net Grid fully supports this mechanism and editors of other vendors that can be used in the application.