
Introduction
With the release of Office 2007, you will want to update your applications with the latest look and feel. With .NET 2.0, this is a simple process as you just need to use this custom renderer for the ToolStrip manager. Assign the custom renderer to the ToolStripManager.Renderer
property, and it will customize the appearance of all ToolStrip
, MenuStrip
, StatusStrip
, and ContextMenuStrip
instances in your application.
Using the Custom Renderer
To make use of the custom renderer, you need to hook into the Load
event of your Form
. Just double click the form at design time to have the event handler for the Load
event auto generated. Then, you need to add just this single line of code...
private void Form1_Load(object sender, EventArgs e)
{
ToolStripManager.Renderer = new Office2007Renderer();
}
There are a couple of other steps you might need to take at design time. If you are using a StatusStrip
, then you need to update the render mode because, by default, it will not use the global one specified in the line of code above. So for each StatusStrip
, you just need to click the smart tag and set the RenderMode
to be ManagerRenderMode
. Likewise for any ToolStripContainer
that is created, just left click in the center of the container area, and then look in the Properties window for the RenderMode
and again change it to ManagerRenderMode
.
Points of Interest
I would have made the context menu have rounded corners just like Office 2007, but this is not possible because of the way the tool strips have been implemented. The background of the context menu is always drawn in a color that takes up the entire client area of the popup window. So it was not possible to simulate a rounded corner by not drawing the corner pixels. I could not find a way to set a region for the popup window either. Maybe someone else will have better luck.
History
This custom renderer was created as part of the development process of adding the Office 2007 appearance to the Krypton Toolkit. The Krypton Toolkit is a free set of controls for .NET 2.0 Windows Forms applications. It implements the full Office 2007 appearance for all of its controls including buttons, panels, headers, and so forth. You can download the free toolkit from here.