Here is a MenuStrip and ToolStrip control that supports complete customization of all colors. The cMenuStrip / cToolStrip behaves exactly the same as the usual MenuStrip / ToolStrip, except for one modified property and one new property:
Appearance
Renderer
The Appearance property holds a large load of other properties, all related to the ToolStrip's appearance, subdivided into logical groups:
Using these properties, you can customize every color the ToolStrip uses. If you're crazy like me you can make a red and pink one like this in 2 seconds time:
(Ok, maybe not the prettiest example, but you get the idea )
The second property, Renderer, allows you to set a preset. You can choose (at this time) between the following:
Office 2007
Office 2003 Blue
Office 2003 Silver
Office 2003 Olive
Office XP
Office Classic
You can see these presets (except the Office2007 style) in action (and in that order) here:
Apart from the list above you can also choose Custom, which tells the control to use your custom Appearance. So if you don't want to use a preset, keep the Renderer property on Custom!
The VB file you need is attached. All you need to do is add the existing class to any existing or new project by right-clicking the project in the Solution Explorer and choosing Add - Existing item...
Build your solution via the Build menu, and if the build succeeded, the cToolStrip control should appear at the top of your Toolbox.
Enjoy!
I just wanted to add that I got the idea of using a ColorTable from pimvdb in this thread. He also told me how to find the correct colors for the other styles so I could make my presets.
Thanks!
EDIT New:
The cToolStrip now contains a property RoundEdges which enables or disables the rounded edges of the ToolStrip. Thanks to JuggaloBrotha!
Attachment updated.
Newer:
I finally got around to adding a cMenuStrip with the same features. It involved copy/pasting and find/replace once like I already thought, so I wonder why I didn't try it earlier hehe... Anyway, it's attached and works in the same way.
One more feature I might want to add now is being able to 'save' and 'load' a customization, so that you can quickly copy the colors from your ToolStrip to your MenuStrip so that they look the same. Right now you would have to change the colors twice, once on the MenuStrip and once on the ToolStrip. I can imagine that being a pain... I'll see if I might be able to do that.
Newest:
I also added my Office2007ColorTable so that you can choose that as a preset too.
Last edited by NickThissen; Dec 20th, 2009 at 07:32 PM.