[编辑] - 请参阅下面的编辑,我想我已经弄清楚了!
我想做与此类似的事情 =>如何在 Windows.Forms 中制作浮动(工具提示)控件?但想知道现在是否有更好的方法?我已经尝试过这种方法,但我的窗口似乎挂了,而且我通常遇到问题。
我知道如何为表单控件制作工具提示(此处),但 listView 中的项目似乎并不明显。
对于我的特定用途,我在 ListView 控件中有一个项目列表。如果在ItemMouseHover上我能得到那个黄色的小工具提示框,我会很高兴,它用于显示与相关项目相关的一些信息或一些文本。
我创建了一个工具提示(我认为),它只是不会触发。我当然得到了事件,但没有得到工具提示。显然我没有正确地做到这一点。我尝试了以下变体,但似乎都失败了。
private void ShowLittleBox(object sender, ListViewItemMouseHoverEventArgs e)
{
toolTip1 = new ToolTip
{ToolTipTitle = "File Summary",AutomaticDelay = 10,BackColor = Color.Yellow};
RichTextBox rtb = new RichTextBox //I needed some window - I used a lot of them
{AutoSize = true,Visible = true,Text="Please note, only first 5 lines are shown"};
string myTextDerivedFromObject = "Eventually this will be dynamic ... ";
toolTip1.Show(myTextDerivedFromObject,rtb); //Also tried activewindow, my listview control etc.
}
不用说,我已经在这个“秋千”上待了大约 4 个小时,需要一点点推动......
[编辑]:我想我破解了 - 我发现 ListView a 包含一个单独的属性,允许每个项目都有自己的工具提示。ListViewItem.ToolTipText 属性 所以最后,我只需将其设置为 true 并在构建时添加项目工具提示文本。