C#隐藏鼠标移动工具提示,然后在鼠标悬停时再次显示它,而无需离开控件

问题描述 投票:0回答:1

我有一个Windows窗体,带有带有一些文本的富文本框。根据鼠标悬停在工具提示上的单词显示。但是,当鼠标开始移动并因此不再悬停在单词上时,并且当鼠标再次悬停在单词上时,我想隐藏工具提示。在某些单词上显示工具提示效果很好,但是一旦显示了工具提示,我就必须离开并重新输入富文本框,以使工具提示出现在其他单词上。

我看了很多遍,似乎工具提示仅显示一次,并且在不离开它所绑定的控件的情况下无法再次显示,但是我想知道是否有人知道解决方法或可以告诉我为什么工具提示仍显示在“鼠标移动”上。

简而言之,我有2个(简单的)问题:

  1. 如何使工具提示在“鼠标移动”上消失?
  2. 如何使工具提示再次出现在鼠标悬停而不离开富文本框?

这是在鼠标悬停时工具提示的显示方式(注释的行即使与Mouse Move中的代码结合也无法使用:

//toolTip_tp.Active = true;
string toolTipText = "Test";
//toolTip_tp.Show(toolTipText, targetTextBox);
toolTip_tp.SetToolTip(targetTextBox, toolTipText);

我已经在“鼠标移动”中尝试了以下代码(单独并与“鼠标悬停”中注释掉的行结合使用,但没有一个起作用:

//text won't appear on hover
toolTip_tp.Hide(richTextBox_MouseOver);
toolTip_tp.SetToolTip(richTextBox_MouseOver, null);
toolTip_tp.Active = false;
toolTip_tp.RemoveAll();
toolTip_tp.Active = false;
toolTip_tp.Active = true;

//tooltip stays displayed for preset time
toolTip_tp.AutoPopDelay = 1;
toolTip_tp.AutoPopDelay = 5000;

很抱歉,如果这是一个简单的问题,但我已经寻找并尝试了几天,但我无法弄清楚。能够解决其中任何一个问题都会有很大帮助。

c# tooltip
1个回答
0
投票

使用如下所示的MouseMove事件。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.