Set the Toolstrip.renderer property to a instance of a class derived from ToolStripRenderer.
Either derive directly from the abstract class ToolStripRenderer and implement all the important methods yourself.
Or derive from ToolStripSystemRenderer or ToolStripProfessionalRenderer.
These classes have a lot of methods and it can be hard to find out which method is the one you really need.
Just inherit from the base class and foresee each and every method. inside the body of the method call the base class, so you have exactly the same implementation. No to find out which method it is you need simply comment out the call to the base class until you see that the item you want to custom paint is no longer paintet.
That particular method would then actually be the only one for you that is needed to override.
The toolstrip does not paint itself it is done indirectly by these renderers.