Подсказка при наведении мыши на TreeNode не отображается - PullRequest
8 голосов
/ 18 ноября 2009

Я пытаюсь показать всплывающую подсказку при наведении мыши на узел дерева. Но всплывающая подсказка не отображается.

Это мой код:

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

Что я должен проверить?

Ответы [ 2 ]

27 голосов
/ 15 октября 2012

Намного проще:

  1. Установите ToolTipText на TreeNode при его создании.
  2. Установите для свойства ShowNodeToolTips элемента управления TreeView значение True.

И все готово.

4 голосов
/ 18 ноября 2009

похоже проблема в

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

строка, измените ее на

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

и это должно работать; Я также рекомендовал бы взглянуть на следующую статью: Как добавить всплывающую подсказку к TreeNode в Visual C # , чтобы узнать, как добавить всплывающие подсказки в древовидную структуру

надеюсь, это поможет, с уважением

...