2009-11-18 44 views
7

Tôi đang cố gắng hiển thị chú giải công cụ khi di chuột lên nút treeview. Nhưng chú giải công cụ không hiển thị.Chú giải công cụ di chuột TreeNode không hiển thị

Đây là mã của tôi:

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

tôi nên kiểm tra cái gì?

Trả lời

4

trông giống như vấn đề là trong dòng

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

, thay đổi nó để

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

và nó cũng làm việc; Tôi cũng xin recomd nhìn vào bài viết sau đây: How to add a ToolTip to a TreeNode in Visual C# cho detalis về cách thêm chú giải công cụ để các TreeView

hy vọng điều này giúp, coi

+0

Chú giải công cụ được hiển thị tự động khi bạn bật chúng, như được giải thích trong câu trả lời tiếp theo. Không cần phải xử lý sự kiện 'MouseHover'. –

24

Một cách đơn giản hơn nhiều là:

  1. Đặt ToolTipText trên TreeNode khi bạn tạo nó.
  2. Đặt thuộc tính ShowNodeToolTips của điều khiển TreeView thành True.

Và bạn đã hoàn tất.

Các vấn đề liên quan