This example demonstrates how to create PropertyGridControl and VGridPainter descendant classes. To support PaintValue in UITypeEditor, it's necessary to add a method to get UITypeEditor in your PropertyGridControl class and override the DrawRowValueCellCore method in the VGridControl class.