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;
}
}
}
}
}