如何防止禁用的ToolStripMenuItem在鼠标悬停时显示边框?

6 c# border winforms toolstripmenu

是的,与标题完全相同,在我的项目中,一些toolstripmenuitems被禁用.但是当我将光标放在菜单项上时,会出现一个蓝色边框: 在此输入图像描述
但我不想要这个.我希望这样:
在此输入图像描述
你能帮我吗,我该如何防止这个蓝色边框?

Osk*_*Osk 10

您应该创建一个自定义ToolStripRenderer,看看这个 - 如何:为应用程序设置ToolStrip渲染器

  1. 您必须创建这样的自定义渲染器:

    class CutomToolStripMenuRenderer : ToolStripProfessionalRenderer
    {
        protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
        {
            if (e.Item.Enabled)
            base.OnRenderMenuItemBackground(e);
        }
    
        protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
        {
            if (e.Item.Enabled)
            base.OnRenderMenuItemBackground(e);
        }
    } 
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后将此渲染器设置为菜单条:

    menuStrip1.Renderer = new CustomToolStripRenderer();
    
    Run Code Online (Sandbox Code Playgroud)

  • 非常感谢你.这对我有帮助. (4认同)