2009-11-18 9 views
7

Estoy tratando de mostrar una información sobre herramientas cuando el mouse se desplaza en un nodo treeview. Pero la información sobre herramientas no aparece.La información sobre herramientas de desplazamiento del mouse TreeNode no aparece

Este es mi código:

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

¿Qué debo comprobar?

Respuesta

4

parece que el problema está en la línea

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

, cambie a

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

y debería funcionar; También me recomd a mirar el siguiente artículo: How to add a ToolTip to a TreeNode in Visual C# para detalis sobre cómo agregar información sobre herramientas a la vista de árbol

esperanza que esta ayuda, que se refiere a

+0

La información sobre herramientas se muestra automáticamente cuando las habilita, como se explica en la siguiente respuesta. No es necesario manejar el evento 'MouseHover'. –

24

Una manera mucho más simple es:

  1. Establecer el ToolTipText en el TreeNode cuando lo creas.
  2. Establezca la propiedad ShowNodeToolTips del control TreeView en True.

Y listo.

Cuestiones relacionadas