Dear bbend,
this can be done by sorting shapes into categories, which is seen in this example:
mapwindow.org/example
Another, option would be to loop through the shapes in the shapefile and assign colors to them somehow. Or maybe its better to assign categories to them. I can try something in C# and provide it here if you want. Just let me know.
Or maybe someone else can add something to the story above.
Kind regards,
Rem