using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace CustomRenders { /// /// Provides an alternate way of painting toolstrip objects /// /// https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.toolstripsystemrenderer?view=netframework-4.8 /// class Renderers : ToolStripProfessionalRenderer { /// /// Overrides OnRendererButtonBackground /// /// https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.toolstripsystemrenderer.onrenderbuttonbackground?view=netframework-4.8 /// /// protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { if (!e.Item.Selected) { base.OnRenderButtonBackground(e); } else { switch (e.Item.Name) { case "toolStripButton1": // This makes the button non-clickable Rectangle rectangle = new Rectangle(0, 0, e.Item.Size.Width - 1, e.Item.Size.Height - 1); e.Graphics.FillRectangle(SystemBrushes.Control, rectangle); e.Graphics.DrawRectangle(SystemPens.Control, rectangle); break; default: base.OnRenderButtonBackground(e); break; } } } } }