C# 工具提示没有';t使用设置为enable=false的按钮

C# 工具提示没有';t使用设置为enable=false的按钮,c#,C#,我在窗口窗体上渲染按钮,其中有些按钮我设置为enable=false。 但我希望工具提示仍然适用于每个按钮,即使它无法使用。我怎么能这么做 请提供帮助。您可以拦截MouseMove事件,然后以编程方式显示工具提示。 工具提示1是您的表单工具提示 private bool toolTipShown = false; private void Control_MouseMove(object sender, MouseEventArgs e) { var parent = sender as

我在窗口窗体上渲染按钮,其中有些按钮我设置为enable=false。 但我希望工具提示仍然适用于每个按钮,即使它无法使用。我怎么能这么做


请提供帮助。

您可以拦截MouseMove事件,然后以编程方式显示工具提示。 工具提示1是您的表单工具提示

private bool toolTipShown = false;
private void Control_MouseMove(object sender, MouseEventArgs e)
{
    var parent = sender as Control;
    if (parent == null)
    {
        return;
    }
    var ctrl = parent.GetChildAtPoint(e.Location);
    if (ctrl != null)
    {
        if (ctrl.Visible && toolTip1.Tag == null)
        {
            if (!toolTipShown)
            {
                var tipstring = toolTip1.GetToolTip(ctrl);
                toolTip1.Show(tipstring.Trim(), ctrl, ctrl.Width / 2, ctrl.Height / 2);
                toolTip1.Tag = ctrl;
                toolTipShown = true;
            }
        }
    }
    else
    {
        ctrl = toolTip1.Tag as Control;
        if (ctrl != null)
        {
            toolTip1.Hide(ctrl);
            toolTip1.Tag = null;
            toolTipShown = false;
        }
    }
}

您需要将代码与问题一起粘贴,以便快速获得帮助我想这是通过设计我只需将按钮添加到我的表单并使用oTip.SetToolTip(oButton,showText);是的,这是一种副设计行为。我已经发布了一个解决方案。请检查此链接