Renderer for PropertyGrid
Render all elements and color in PropertyGrid with ToolStripRenderer of Windows owner

Introduction
I have some projects using PropertyGrid
but the color is not beautiful. The original was 2 theme (System, XPTheme) only until I found the article "Changing the look and feel of the propertygrid" from seeshaper.
Background
But I need to change color and theme of the PropertyGrid
when the parent form or MainMenu
has changed property ToolStripManager
. Thank you for every idea below.
- Office 2007 ToolStrip Renderer by Phil.Wright
- Tan Color Table by jfoscoding
- Add Custom Properties to a PropertyGrid by Danilo Corallo
Using the Code
Add the control to the tool box of Visual Studio or re-build this class in your project. The control look and feel will change with your MainMenu
automatically.
//
// Change test
//
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (this.comboBox1.SelectedIndex)
{
case 0: //System
ToolStripManager.Renderer = new ToolStripSystemRenderer();
// Must set this !!
ToolStripManager.RenderMode = ToolStripManagerRenderMode.System;
break;
case 1: // Professional
ToolStripManager.Renderer = new ToolStripProfessionalRenderer();
//ToolStripManager.RenderMode = ToolStripManagerRenderMode.Professional;
break;
case 2: // Office2007 Blue
ToolStripManager.Renderer = new Office2007Renderer.Office2007Renderer();
//ToolStripManager.RenderMode = ToolStripManagerRenderMode.Custom;
break;
case 3: // VS2005 Tan
ToolStripManager.Renderer =
new ToolStripProfessionalRenderer(new TanColorTable());
//ToolStripManager.RenderMode = ToolStripManagerRenderMode.Custom;
break;
default:
break;
}
}
Point of Interest
If you set your application to render with System Renderer, please set RenderMode
to System
.
ToolStripManager.RenderMode = ToolStripManagerRenderMode.System;
History
- 2009-April-22: Published
- 2009-April-23: Updated control at design-time