如何为ListviewSubItem设置工具提示

Osk*_*Osk 6 c# controls tooltip listviewitem

我在详细信息视图中有一个ListView控件(将列表显示为网格的视图)

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

    ListViewItem listViewItem = mListView.Items.Add(lValue.Name);
    listViewItem.ToolTipText = "AAAAAAAAAAAAAAAAA";
Run Code Online (Sandbox Code Playgroud)

问题是工具提示仅在游标位于第一个列表视图列上时显示,而不显示其余列表.我想知道是否还有让它显得"轻松"?

Osk*_*Osk 7

经过一番研究.我已经用这种方式解决了这个问题,但我仍然想知道是否还有另一种方法可以避免使用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;
    }
Run Code Online (Sandbox Code Playgroud)

  • @user1803300:在`MouseHover` 上使用这个功能真的很难。第一个问题你没有坐标,你需要处理很多其他的事件,也有意想不到的错误。当我完成代码(并且它不会是正常长度)后,我会将其发布在这里。 (2认同)