Search code examples
c#winformstreeviewmousehover

TreeNode mouse hover tooltip not showing up


I am trying to show a tooltip when mouse hovers on a treeview node. But the tooltip is not showing up.

This is my code:

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());
            }
        }
    }
}

What should I check for?


Solution

  • looks like the problem is in the

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

    line, change it to

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

    and it should work; I would also recomd to look at the following article: How to add a ToolTip to a TreeNode in Visual C# for detalis on how to add tooltips to the treeview

    hope this helps, regards