2009-11-18 4 views
7

Ich versuche, eine QuickInfo anzuzeigen, wenn die Maus auf einem Treeview-Knoten schwebt. Aber der Tooltip wird nicht angezeigt.TreeNode Maus Hover Tooltip nicht angezeigt

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

Was soll ich überprüfen?

Antwort

4

sieht aus wie das Problem in der

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

Linie

ist, es

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

ändern, und es sollte funktionieren; Ich würde auch auf den folgenden Artikel zu sehen recomd: How to add a ToolTip to a TreeNode in Visual C# für detalis wie Tooltips zur Baum-Ansicht, das hilft

Hoffnung hinzuzufügen, in Bezug auf

+0

Tooltips werden automatisch angezeigt, wenn Sie sie aktivieren, wie in der nächsten Antwort erläutert. Das 'MouseHover'-Ereignis muss nicht behandelt werden. –

24

Eine viel einfachere Art und Weise ist es:

  1. des Set ToolTipText in TreeNode, wenn Sie es erstellen.
  2. Legen Sie die ShowNodeToolTips-Eigenschaft des TreeView-Steuerelements auf True fest.

Und du bist fertig.