Как обновить ToolTipText на ToolStripButton?

Я хочу реализовать простую функциональность переключения на ToolStripButton.

Режим просмотра -> Режим редактирования

Режим редактирования -> Режим просмотра

Этот кусок кода работает нормально, за исключением того, что ToolTip не обновляет Я старался AutoToolTip имущество. Я тоже пробовал настройку ToolTipText в string.Empty, Но моя панель инструментов продолжает показывать старый текст подсказки. 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;
    }
}

1 ответ

Вы можете попробовать обновить родителя кнопки ToolStrip

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

Вы должны быть в состоянии получить доступ к родительской панели инструментов через btnTrackingMode.Owner если это не доступно напрямую по какой-то причине.

Другие вопросы по тегам