[编辑] -请参阅下面的编辑,我想我已经弄清楚了!
我想做一个类似的事情,这=> How to make a floating (tooltip) control in Windows.Forms?,但不知道是否有一个更好的方法现在?我已经尝试过这种方法,但我的窗口似乎挂在周围,我有它的问题一般。
我知道如何为表单控件(here)制作工具提示,但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包含一个单独的属性,允许每个项目都有自己的工具提示。ListViewItem.ToolTipText Property所以最后,我只需要将其设置为true,并在构建它时添加items工具提示文本。
2条答案
按热度按时间bnl4lu3b1#
我做了同样的事情,我把一个面板与标签控制的形式和假的可见属性面板,然后在mouseEnter事件的任何对象,我得到的X,Y的位置,并显示面板在该位置。
字符串
希望对你有帮助。
pkbketx92#
好的,如前所述,我在ListView控件中有一个文件列表。为了了解文件中的内容,我最终使用了ListViewItem.Tag Propterty,有一次一个用户告诉我如何使用(from another of my questions)。一旦我附加了一个对象(在本例中是加载的文件),在加载时,我提取了前几行并将其设置为ListViewItem.ToolTipText属性。
下面是一个人为的例子,可以从listViewItems中显示工具提示:(对于那些对C#/VisualStudio非常陌生的人:您需要创建一个表单“form 1”,并添加一个ListView控件“listView 1”和一个按钮“button 1”)。
字符串
理想情况下,我希望能够通过一个“富文本框”来控制字体等,它的行为就像一个工具提示,但还没有找到理想的方法来做到这一点。
让我知道如果有一个更简单的方法!!!
[EDIT:]做完这一切后,我现在在SO How to set tooltip for a ListviewItem上发现了一个类似的问题