当光标在ListView单元格上时如何显示工具提示?

时间:2012-12-17 13:21:12

标签: c# .net winforms listview

我有listview个对象,其中有几列。其中一列不适合所有文本信息,文本已被剪切。我需要实现这样的事情:当用户将鼠标光标移动到此列的单元格时,将显示所有文本。有可能吗? 现在我有:

 protected ListViewItem GetItem(ListView listView, Point mousePosition)
    {
       Point localPoint = listView.PointToClient(mousePosition);
       return listView.GetItemAt(localPoint.X, localPoint.Y);
    }

    private void myListView_MouseMove(object sender, MouseEventArgs e)
    {
       ListViewItem item = GetItem(myListView, Cursor.Position); 
       // or should I use e.Location instead of  Cursor.Position?

       item.ToolTipText = "my info"//Now I need to show "my info" on the cell 
       //that user move cursor on
    }

2 个答案:

答案 0 :(得分:0)

试试此代码

ListViewItem iListView = new ListViewItem("add");
iListView.ToolTipText = "Add Expanded";
myListView.Items.Add(iListView);

通过将ListView的ShowItemToolTips属性设置为true

来执行此操作

答案 1 :(得分:0)

使用列表显示正确的工具提示的旧方法之一是隐藏标签并使其在所需位置可见,并在所需的持续时间内显示所需的文本。这可能是多线,多色尖端的好处。

所以它的工作原理如下:

  • 标签位于列表视图或表单上,并且它是不可见的。
  • 在鼠标移动时,您使用鼠标X和Y获取项目数据。位置, 尺寸并显示您的标签充满数据。
  • 标签本身可以有一个计时器,它将在标签时启动 例如,可见并且在5秒内使其不可见。

我记得今年这样做。虽然我的“工具提示”是在列表框上完成的。 用文本框替换标签,然后突然可以使单元格中的数据可编辑:o)