2012-10-25 48 views
5

Tôi có một điều khiển ListView trong Chi tiết xem như đó (quan điểm cho rằng hiển thị danh sách như một mạng lưới)Làm thế nào để thiết lập tooltip cho một ListviewSubItem

mListView.View = View.Details; 
    mListView.mLVSelectedObject.ShowItemToolTips = true; 

    ListViewItem listViewItem = mListView.Items.Add(lValue.Name); 
    listViewItem.ToolTipText = "AAAAAAAAAAAAAAAAA"; 

Vấn đề là các tooltip chỉ xuất hiện khi con trỏ là trên cột listview đầu tiên nhưng không phải cho phần còn lại o chúng. Tôi muốn biết nếu có anyway để làm cho nó xuất hiện "easly"?

+1

Bạn đang cố gắng thêm chú giải công cụ cho toàn bộ chế độ xem danh sách hay bạn muốn có chú giải công cụ khác cho từng mục? – Joe

+0

Tôi muốn một chú giải công cụ cho mỗi hàng. (Chú giải công cụ tương tự cho mọi subitem của một listviewitem). – Osk

Trả lời

6

Sau một số nghiên cứu. Tôi đã giải quyết vấn đề theo cách này, nhưng tôi vẫn tự hỏi nếu có một cách khác để làm điều đó tránh EventHandlers;

ToolTip  mTooltip; 
    Point mLastPos = new Point(-1, -1); 

    private void listview_MouseMove(object sender, MouseEventArgs e) 
    { 
     ListViewHitTestInfo info = mLV.HitTest(e.X, e.Y); 

     if (mTooltip == null) 
      mTooltip = new ToolTip(); 

     if (mLastPos != e.Location) 
     { 
      if (info.Item != null && info.SubItem != null) 
      { 
       mTooltip.ToolTipTitle = info.Item.Text; 
       mTooltip.Show(info.SubItem.Text, info.Item.ListView, e.X, e.Y, 20000); 
      } 
      else 
      { 
       mTooltip.SetToolTip(mLV, string.Empty); 
      } 
     } 

     mLastPos = e.Location; 
    } 
+0

Tại sao bạn không xử lý MouseHover thay vì MouseMove?, Bên cạnh đó bạn có thuộc tính "ShowItemToolTips", chỉ cần đặt nó thành true và bạn ổn. –

+1

@ user1803300: Thật khó sử dụng chức năng này trên 'MouseHover'. Vấn đề đầu tiên bạn không có tọa độ, bạn cần phải xử lý nhiều sự kiện khác và cũng có lỗi không mong muốn. Khi tôi có mã hoàn thành (và nó sẽ không được chiều dài bình thường) tôi sẽ đăng nó ở đây. – Julo

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