如何防止禁用的ToolStripMenuItem在鼠标悬停时显示边框? [英] How can I prevent a disabled ToolStripMenuItem from showing a border on mouse over?

查看:195
本文介绍了如何防止禁用的ToolStripMenuItem在鼠标悬停时显示边框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是的,与标题完全相同,在我的项目中,禁用了一些工具条菜单.但是,当我将光标移到菜单项上时,会出现一个蓝色边框,如下所示:
但是我不想要这个.我想要这样:

您能帮我吗,如何我可以防止这个蓝色边框吗?

Yes, exactly same as the title, in my project some of toolstripmenuitems were disabled. But when i bring the cursor over the menu item, a blue border is appearing like this:
But i don't want this. I want it like this:

Could you help me, how do i prevent this blue border?

推荐答案

您应该创建一个自定义ToolStripRenderer,看看它-

You should create a custom ToolStripRenderer, take a look at this - How to: Set the ToolStrip Renderer for an Application

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

  1. You have to create a custom renderer like this:

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

  • 然后将此渲染器设置为菜单栏:

  • And then set this renderer to your menu strip:

    menuStrip1.Renderer = new CustomToolStripRenderer();
    

  • 这篇关于如何防止禁用的ToolStripMenuItem在鼠标悬停时显示边框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆