10

当鼠标悬停在树视图节点上时,我试图显示工具提示。但是工具提示没有出现。

这是我的代码:

private void treeView1_MouseHover(object sender, EventArgs e)
{
    toolTip1.RemoveAll();

    TreeNode selNode = (TreeNode)treeView1.GetNodeAt(Cursor.Position);

    if (selNode != null)
    {
        if (selNode.Tag != null)
        {
            Product selProduct = selNode.Tag as Product;

            if (selProduct != null)
            {
                toolTip1.SetToolTip(treeView1, selProduct.ProductName + "\n" + selProduct.ProductCategory.ToString());
            }
        }
    }
}

我应该检查什么?

4

2 回答 2

36

一个更简单的方法是:

  1. 创建时在 TreeNode 上设置 ToolTipText。
  2. 将 TreeView 控件的 ShowNodeToolTips 属性设置为 True。

你完成了。

于 2012-10-15T18:20:49.427 回答
4

看起来问题出在

TreeNode selNode = (TreeNode)treeView1.GetNodeAt(Cursor.Position);

行,将其更改为

TreeNode selNode = (TreeNode)treeView1.GetNodeAt(treeView1.PointToClient(Cursor.Position));

它应该可以工作;我还建议查看以下文章:How to add a ToolTip to a TreeNode in Visual C# for detalis on how to add tooltips to the treeview

希望这会有所帮助,问候

于 2009-11-18T17:11:16.903 回答