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

そしてそれは機能するはずです。また、次の記事を参照することをお勧めします。ツリービューにツールチップを追加する方法の詳細については、Visual C#でTreeNodeにツールチップを追加する方法

これがお役に立てば幸いです

于 2009-11-18T17:11:16.903 に答える