I'd like to customise the property grid so as to do things such as be able to change the description of a property at run time, and set the order in which properties appear to not be the default alphabetical order. I understand that the solution lies in classes such as ICustomTypeDescriptor, PropertyDescriptor and TypeDescriptorProvider. But I can't for the life of me figure out what you have to do with these classes. Can anyone point me to some good documentation on this?