a·gen·tic a·gil·i·ty

Custom UI colour scheme for Windows Forms .NET

Learn how to customise Windows Forms ToolStrip, MainMenu, and StatusBar colours in .NET by creating a custom ColorTable and applying it with a custom renderer.

Published on
2 minute read
Image
https://nkdagility.com/resources/2vSr2gsP4Rt
Subscribe

The easyest way to customise you display of your ToolStrip, MainMenu and StatusBar is to use a custom ColorTable.

Just inherit from the ProfessionalColorRenderer and override what you want, with the colors you want:

1   1:  Public Class MortgagesPlcColorTable
1   2:          Inherits ProfessionalColorTable
1   3:   
1   4:          Public Overrides ReadOnly Property ButtonCheckedHighlightBorder() As System.Drawing.Color
1   5:              Get
1   6:                  Return MyBase.ButtonCheckedHighlightBorder
1   7:              End Get
1   8:          End Property
1   9:   
1  10:          Public Overrides ReadOnly Property MenuItemPressedGradientMiddle() As System.Drawing.Color
1  11:              Get
1  12:                  Return Color.FromArgb(91, 91, 91)
1  13:              End Get
1  14:          End Property
1  15:   
1  16:          Public Overrides ReadOnly Property ToolStripContentPanelGradientBegin() As System.Drawing.Color
1  17:              Get
1  18:                  Return Color.FromArgb(80, 80, 80)
1  19:              End Get
1  20:          End Property
1  21:   
1  22:          Public Overrides ReadOnly Property ToolStripContentPanelGradientEnd() As System.Drawing.Color
1  23:              Get
1  24:                  Return Color.WhiteSmoke
1  25:              End Get
1  26:          End Property
1  27:   
1  28:          Public Overrides ReadOnly Property ToolStripDropDownBackground() As System.Drawing.Color
1  29:              Get
1  30:                  Return Color.FromArgb(91, 91, 91)
1  31:              End Get
1  32:          End Property
1  33:   
1  34:          Public Overrides ReadOnly Property ToolStripGradientBegin() As System.Drawing.Color
1  35:              Get
1  36:                  Return Color.FromArgb(80, 80, 80)
1  37:              End Get
1  38:          End Property
1  39:   
1  40:      End Class

Once you have done this, all you need now is to add it to your contols:

1   1:          System.Windows.Forms.ToolStripManager.Renderer = New ToolStripProfessionalRenderer(New MortgagesPlc.Windows.Forms.MortgagesPlcColorTable)

All done! If you have problems you can inherit from the ToolStrip control and change the renderer in the constructor…

Technorati Tags: .NET

Windows
Subscribe

Related Blog

No related videos found.

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

ProgramUtvikling Logo

ProgramUtvikling

Deliotte Logo

Deliotte

Qualco Logo

Qualco

Slicedbread Logo

Slicedbread

Jack Links Logo

Jack Links

Graham & Brown Logo

Graham & Brown

DFDS Logo

DFDS

Lean SA Logo

Lean SA

Alignment Healthcare Logo

Alignment Healthcare

Schlumberger Logo

Schlumberger

Ericson Logo

Ericson

Illumina Logo

Illumina

Emerson Process Management Logo

Emerson Process Management

Microsoft Logo

Microsoft

Brandes Investment Partners L.P. Logo

Brandes Investment Partners L.P.

NIT A/S

Trayport Logo

Trayport

Sage Logo

Sage

Nottingham County Council Logo

Nottingham County Council

Royal Air Force Logo

Royal Air Force

New Hampshire Supreme Court Logo

New Hampshire Supreme Court

Ghana Police Service Logo

Ghana Police Service

Washington Department of Transport Logo

Washington Department of Transport

Department of Work and Pensions (UK) Logo

Department of Work and Pensions (UK)

DFDS Logo

DFDS

Healthgrades Logo

Healthgrades

CR2

Philips Logo

Philips

Kongsberg Maritime Logo

Kongsberg Maritime

Flowmaster (a Mentor Graphics Company) Logo

Flowmaster (a Mentor Graphics Company)