2009-11-18 143 views
7

我試圖顯示鼠標懸停在treeview節點上的工具提示。但是工具提示沒有顯示出來。TreeNode鼠標懸停工具提示沒有顯示

這是我的代碼:

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

貌似問題是在

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

線,將其更改爲

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

,它應該工作;我還要recomd來看看下面的文章:How to add a ToolTip to a TreeNode in Visual C#有關如何提示添加到TreeView

希望這有助於detalis,視

+0

工具提示在啓用時會自動顯示,如下一個答案所述。沒有必要處理'MouseHover'事件。 – 2017-08-03 08:19:19

24

一個更簡單的方法是:

  1. 設置在創建TreeNode時使用ToolTipText。
  2. 將TreeView控件的ShowNodeToolTips屬性設置爲True。

你完成了。

相關問題