listview 与 tooltip
listView1_ItemMouseHover时我把tooltip弹出来。
toolTip1.Show("something",this.listView1,Cursor.Position.X + 10 - this.Left, Cursor.Position.Y + 10 - this.Top);
问题:鼠标从item离开后,如何隐藏tooltip?
谢谢
[解决办法]
由于没有leave事件,所以你可以加一个timer控件来控制,让你的tooltip显示一定时间后自动消失。
参考
private void listView1_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e) { toolTip1.Show("something", this.listView1, Cursor.Position.X + 10 - this.Left, Cursor.Position.Y + 10 - this.Top); timer1.Start(); timer1.Interval = 1000; timer1.Tick+=new EventHandler(timer1_Tick); } private void timer1_Tick(object sender, EventArgs e) { toolTip1.Hide(this.listView1); }
[解决办法]
toolTip1.ReshowDelay = 100; 离开后??长时间隐藏
[解决办法]
toolTip1.ReshowDelay = 100; 离开后 100ms 隐藏
[解决办法]
相关的4个属性:
AutomaticDelay 获取或设置工具提示的自动延迟。
AutoPopDelay 获取或设置当指针在具有指定工具提示文本的控件内保持静止时,工具提示保持可见的时间期限。
InitialDelay 获取或设置工具提示显示之前经过的时间。
ReshowDelay 获取或设置指针从一个控件移到另一控件时,必须经过多长时间才会出现后面的工具提示窗口。
[解决办法]
this.toolTip2.Show("显示内容", 控件名字, 显示时间);
[解决办法]