简体   繁体   English

如何在ToolStripButton上刷新ToolTipText?

[英]How to refresh ToolTipText on ToolStripButton?

I want to implement simple toggle functionality on a ToolStripButton. 我想在ToolStripButton上实现简单的切换功能。

View Mode --> Edit Mode 查看模式->编辑模式

Edit Mode --> View Mode 编辑模式->查看模式

This piece of code is working fine except that ToolTip doesn't refresh. 除了不刷新ToolTip ,这段代码可以正常工作。 I tried AutoToolTip property. 我尝试了AutoToolTip属性。 I also tried setting ToolTipText to string.Empty . 我也尝试将ToolTipText设置为string.Empty But my toolstrip continues to show old tooltip text. 但是我的工具栏继续显示旧的工具提示文本。 ToolTipText should also change when I toggle. 切换时, ToolTipText也应更改。

private void btnTrackingMode_Click(object sender, EventArgs e)
{
    if (_currentSheetTrackingMode == SheetTrackingMode.ViewMode)
    {
        _currentTrackingMode = TrackingMode.EditMode;

        btnTrackingMode.AutoToolTip = true;
        btnTrackingMode.ToolTipText = string.Empty;
        btnTrackingMode.ToolTipText = "You are currently in Edit Mode. Click here to enter into View Mode";
        btnTrackingMode.Image = ((System.Drawing.Image) ((Image) new ComponentResourceManager(typeof(MyForm)).GetObject("btnTrackingEditMode.Image")));
        btnTrackingMode.ImageTransparentColor = System.Drawing.Color.Magenta;
    }
    else
    {
        _currentTrackingMode = TrackingMode.ViewMode;

        btnTrackingMode.AutoToolTip = true;
        btnTrackingMode.ToolTipText = string.Empty;
        btnTrackingMode.ToolTipText = "You are currently in View Mode. Click here to enter into Edit Mode";
        btnTrackingMode.Image = ((System.Drawing.Image) ((Image) new ComponentResourceManager(typeof(MyForm)).GetObject("btnTrackingViewMode.Image")));
        btnTrackingMode.ImageTransparentColor = System.Drawing.Color.Magenta;
    }
}

You can try to refresh the button's parent ToolStrip 您可以尝试刷新按钮的父级ToolStrip

btnTrackingMode.ToolTipText = "something";
//put your toolstrip's name here
buttonsToolStrip.Refresh();

You should be able to access the parent tool strip through btnTrackingMode.Owner if it's not directly available for some reason. 如果由于某些原因无法直接使用btnTrackingMode.Owner则应该可以访问父工具btnTrackingMode.Owner

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM