the property grid has to be aware of how to design your property. native types (int, bool, enums, strings, ...) have designers and type editors already built for them.

Here's an article that kind of covers how one might go about doing what you need: http://www.codeproject.com/KB/cs/propertyeditor.aspx