列表视图子项上的工具提示没有显示

本文关键字:工具提示 显示 视图 列表 | 更新日期: 2023-09-27 18:03:23

我无法在ListView子项上显示工具提示。涉及的实现是:

ListView sqlView = new ListView() { Dock = DockStyle.Fill, View = View.Details, MultiSelect = true, FullRowSelect = true, HeaderStyle = ColumnHeaderStyle.Nonclickable, GridLines = true };
...
sqlView.ShowItemToolTips = true;
sqlView.MouseMove += sqlView_MouseMove;
...
// filled in foreach, don't worry it's correct here ;)
item.SubItems[columnIndex].Text = "✔";
item.SubItems[columnIndex].Tag = ("via: '" + sqlEntry.Login + "'");

鼠标事件处理方法:

void sqlView_MouseMove(object sender, MouseEventArgs e)
{
    ListView sqlView = ((ListView)sender);
    ListViewItem item = sqlView.GetItemAt(e.X, e.Y);
    ListViewHitTestInfo info = sqlView.HitTest(e.X, e.Y);
    if (item != null && info.SubItem != null && info.SubItem.Tag != null) 
    {
        ToolTip tt = new ToolTip();
        //tt.ShowAlways = true; - no effect
        //tt.Active = true;     - no effect
        tt.SetToolTip(sqlView, (String)info.SubItem.Tag);                
    }
}

事件正在触发。标签被正确填充。没有显示工具提示。为什么?

列表视图子项上的工具提示没有显示

不要每次都创建新的ToolTip()。只需创建一个并重用它。