I've been drawing controls lately and it's a hassle to go through all the permutations of each method of ControlPaint to see what each parameter does and what the result will look like, so I wrote this to make it easier. You simply select a method and set the parameters; the display changes as the values are changed.
The primary reason I'm putting this dopey Little app on the web is that some may find the source useful since everything is done with reflection and the property Grid implementation is interesting.
The Static methods are read from the ControlPaint class.
The parameters are read from the methods and put into an object that implements ICustomTypeDescriptor. This gives the object complete control of what the property grid displays, so I can use this single object as the bound property grid object for every method, no matter what the parameters are.
The Paint is invoked using the updated values from the aforementioned object