Возможно, вы захотите добавить проверку типа, чтобы избежать пропуска границы ToolStripDropDownMenu
/ etc. (поскольку он унаследован от ToolStrip
, он автоматически начинает использовать тот же пользовательский рендер):
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
if (e.ToolStrip.GetType() == typeof(ToolStrip))
{
// skip render border
}
else
{
// do render border
base.OnRenderToolStripBorder(e);
}
}
Пропущенная ToolStripDropDownMenu
граница не так заметна при использовании ToolStripSystemRenderer
, но становится настоящим бельмом на глазу с ToolStripProfessionalRenderer
.
Кроме того, установка System.Windows.Forms.ToolStripManager.Renderer = new MySR();
может быть полезна, если вы хотите, чтобы все ToolStrip
экземпляры приложения в целом использовали MySR
по умолчанию.