简体   繁体   中英

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?

A much simpler way is to:

  1. Set the ToolTipText on the TreeNode when you create it.
  2. Set the TreeView control's ShowNodeToolTips property to True.

And you're done.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM