在工具提示激活时如何更改菜单项工具提示文本?

时间:2019-11-12 15:24:53

标签: c# winforms menuitem

我有一个第一级菜单项,它是用于切换标题面板状态的人字形。菜单项具有ToolTipText,我想在工具提示窗口仍处于打开状态(即,悬停处于活动状态)进行更改。

有没有办法做到这一点?

代码

    topMenuStrip.ShowItemToolTips = true;
    chevronMenuItem.ToolTipText = "Hide title";
    chevronMenuItem.Click += new System.EventHandler(titleToggle_Click);

    private void titleToggle_Click(object sender, EventArgs e)
    {
        var mi = (ToolStripMenuItem)sender;

        if (titlePanel.Visible)
        {
            titlePanel.Visible = false;
            mi.ToolTipText = "Show title bar";                 // does not change while hover active
            mi.Image = Properties.Resources.chevron_expand;
        } 
        else
        {
            titlePanel.Visible = true;
            mi.ToolTipText = "Hide title bar";                 // does not change while hover active
            mi.Image = Properties.Resources.chevron_collapse;
        }
    }

图片

第三张图片是在新鼠标悬停后重新渲染工具提示(鼠标离开人字形鼠标进入人字形)

enter image description here

1 个答案:

答案 0 :(得分:0)

根据Microsoft文档,必须设置属性 AutoToolTip = false 和属性 ShowItemToolTips = true

  

ToolStripItem使用Text属性作为默认来源   工具提示内容。将AutoToolTip设置为false可以将ToolTipText用作   工具提示内容的来源。

     

要使用此属性,还必须将ShowItemToolTips设置为true。

来源:ToolStripItem.AutoToolTip Property