Click here to Skip to main content
15,895,746 members
Articles / Programming Languages / C#

Extending the PropertyGrid with a new PropertyTab

Rate me:
Please Sign up or sign in to vote.
4.89/5 (39 votes)
15 Jan 2007CPOL8 min read 121.3K   4.1K   128  
Add a PropertyTab showing the fields of an object and overlay icons to the PropertyGrid
namespace PropertyGridEx
{
    using System.Drawing;
    using System.Windows.Forms;

    public class CustomColorScheme : ProfessionalColorTable
	{
		
		
		public override Color ButtonCheckedGradientBegin
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color ButtonCheckedGradientEnd
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color ButtonCheckedGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color ButtonPressedBorder
		{
			get
			{
				return Color.FromArgb(0x31, 0x6A, 0xC5);
			}
		}
		
		public override Color ButtonPressedGradientBegin
		{
			get
			{
				return Color.FromArgb(0x98, 0xB5, 0xE2);
			}
		}
		
		public override Color ButtonPressedGradientEnd
		{
			get
			{
				return Color.FromArgb(0x98, 0xB5, 0xE2);
			}
		}
		
		public override Color ButtonPressedGradientMiddle
		{
			get
			{
				return Color.FromArgb(0x98, 0xB5, 0xE2);
			}
		}
		
		public override Color ButtonSelectedBorder
		{
			get
			{
				return base.ButtonSelectedBorder;
			}
		}
		
		public override Color ButtonSelectedGradientBegin
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color ButtonSelectedGradientEnd
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color ButtonSelectedGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color CheckBackground
		{
			get
			{
				return Color.FromArgb(0xE1, 230, 0xE8);
			}
		}
		
		public override Color CheckPressedBackground
		{
			get
			{
				return Color.FromArgb(0x31, 0x6A, 0xC5);
			}
		}
		
		public override Color CheckSelectedBackground
		{
			get
			{
				return Color.FromArgb(0x31, 0x6A, 0xC5);
			}
		}
		
		public override Color GripDark
		{
			get
			{
				return Color.FromArgb(0xC1, 190, 0xB3);
			}
		}
		
		public override Color GripLight
		{
			get
			{
				return Color.FromArgb(0xFF, 0xFF, 0xFF);
			}
		}
		
		public override Color ImageMarginGradientBegin
		{
			get
			{
				return Color.FromArgb(251, 250, 247);
			}
		}
		
		public override Color ImageMarginGradientEnd
		{
			get
			{
				return Color.FromArgb(0xBD, 0xBD, 0xA3);
			}
		}
		
		public override Color ImageMarginGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xEC, 0xE7, 0xE0);
			}
		}
		
		public override Color ImageMarginRevealedGradientBegin
		{
			get
			{
				return Color.FromArgb(0xF7, 0xF6, 0xEF);
			}
		}
		
		public override Color ImageMarginRevealedGradientEnd
		{
			get
			{
				return Color.FromArgb(230, 0xE3, 210);
			}
		}
		
		public override Color ImageMarginRevealedGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xF2, 240, 0xE4);
			}
		}
		
		public override Color MenuBorder
		{
			get
			{
				return Color.FromArgb(0x8A, 0x86, 0x7A);
			}
		}
		
		public override Color MenuItemBorder
		{
			get
			{
				return Color.FromArgb(0x31, 0x6A, 0xC5);
			}
		}
		
		public override Color MenuItemPressedGradientBegin
		{
			get
			{
				return base.MenuItemPressedGradientBegin;
			}
		}
		
		public override Color MenuItemPressedGradientEnd
		{
			get
			{
				return base.MenuItemPressedGradientEnd;
			}
		}
		
		public override Color MenuItemPressedGradientMiddle
		{
			get
			{
				return base.MenuItemPressedGradientMiddle;
			}
		}
		
		public override Color MenuItemSelected
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color MenuItemSelectedGradientBegin
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color MenuItemSelectedGradientEnd
		{
			get
			{
				return Color.FromArgb(0xC1, 210, 0xEE);
			}
		}
		
		public override Color MenuStripGradientBegin
		{
			get
			{
				return Color.FromArgb(0xE5, 0xE5, 0xD7);
			}
		}
		
		public override Color MenuStripGradientEnd
		{
			get
			{
				return Color.FromArgb(0xF4, 0xF2, 0xE8);
			}
		}
		
		public override Color OverflowButtonGradientBegin
		{
			get
			{
				return Color.FromArgb(0xF3, 0xF2, 240);
			}
		}
		
		public override Color OverflowButtonGradientEnd
		{
			get
			{
				return Color.FromArgb(0x92, 0x92, 0x76);
			}
		}
		
		public override Color OverflowButtonGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xE2, 0xE1, 0xDB);
			}
		}
		
		public override Color RaftingContainerGradientBegin
		{
			get
			{
				return Color.FromArgb(0xE5, 0xE5, 0xD7);
			}
		}
		
		public override Color RaftingContainerGradientEnd
		{
			get
			{
				return Color.FromArgb(0xF4, 0xF2, 0xE8);
			}
		}
		
		public override Color SeparatorDark
		{
			get
			{
				return Color.FromArgb(0xC5, 0xC2, 0xB8);
			}
		}
		
		public override Color SeparatorLight
		{
			get
			{
				return Color.FromArgb(0xFF, 0xFF, 0xFF);
			}
		}
		
		public override Color ToolStripBorder
		{
			get
			{
				return Color.FromArgb(0xA3, 0xA3, 0x7C);
			}
		}
		
		public override Color ToolStripDropDownBackground
		{
			get
			{
				return Color.FromArgb(0xFC, 0xFC, 0xF9);
			}
		}
		
		public override Color ToolStripGradientBegin
		{
			get
			{
				return Color.FromArgb(0xF7, 0xF6, 0xEF);
			}
		}
		
		public override Color ToolStripGradientEnd
		{
			get
			{
				return Color.FromArgb(192, 192, 168);
			}
		}
		
		public override Color ToolStripGradientMiddle
		{
			get
			{
				return Color.FromArgb(0xF2, 240, 0xE4);
			}
		}
		
		public override System.Drawing.Color ToolStripPanelGradientBegin
		{
			get
			{
				return Color.FromArgb(0xE5, 0xE5, 0xD7);
			}
		}
		
		public override System.Drawing.Color ToolStripPanelGradientEnd
		{
			get
			{
				return Color.FromArgb(0xF4, 0xF2, 0xE8);
			}
		}
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Germany Germany
Carsten started programming Basic and Assembler back in the 80’s when he got his first C64. After switching to a x86 based system he started programming in Pascal and C. He started Windows programming with the arrival of Windows 3.0. After working for various internet companies developing a linguistic text analysis and classification software for 25hours communications he is now working as a contractor.

Carsten lives in Hamburg, Germany with his wife and five children.

Comments and Discussions