c# - 在 ListView 上多次调用 SetToolTip,根本不显示工具提示

标签 c# .net winforms listview tooltip

我正在尝试使用Tooltip类,当鼠标移动到 ListView 子项上时显示自定义详细信息。为此,我使用 this question 中提到的方法。 。基本上,它找到鼠标下的子项并设置 ListView 的工具提示。

但我无法让它发挥作用。我发现如果我调用tooltip.SetToolTip多次在 ListView 上使用方法,根本没有工具提示出现。

为了演示这一点,我只需创建一个 Windows 窗体应用程序并放置一个 ListView 和一个工具提示控件。在表单显示事件中,我写道:

private void Form1_Shown(object sender, EventArgs e)
{
    toolTip1.SetToolTip(listView1, "Hello World");
    toolTip1.SetToolTip(listView1, "Hello");
}

当我执行上述操作时,根本不显示任何工具提示。当我评论其中一行时,它工作得很好。我不知道我做错了什么。

最佳答案

这似乎是框架中的一个错误。 一旦您使用 tooltip1.SetTooltip(listView1, "Text") 两次,整个工具提示控件就会被破坏,并且不再显示与该工具提示的任何控件关联的工具提示。 对我来说,唯一的解决方案是在再次分配之前重新初始化工具提示

toolTip1.SetToolTip(listView1, "Text");
toolTip1 = new ToolTip();
toolTip1.SetToolTip(listView1, "New Text");

这只发生在 ListView 上!例如标签、按钮等您可以反复使用 SetToolTip。

关于c# - 在 ListView 上多次调用 SetToolTip,根本不显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20868849/

相关文章:

c# - ILogger 的 CaSTLe Windsor Visual Studio 代码片段

c# - 将文本文件与 C# 中的文本模式进行比较?

c# - 这是一个有效的 XML 文件吗?

c# - 在单独的线程上显示 WPF -"NotifyIcon"

c# - DataGridViewTextBoxColumn,将光标设置在单元格内容的开头

c# - 为什么 EditorBrowsable 不起作用?

c# - 是否可以缩短 XDocument 的 XDeclaration?

c# - MySqlConnection Open() 未打开且未捕获错误

C# - 用于循环 DataGridView.Rows 的 Lambda 语法

javascript - 部署网络应用程序