我想为树视图中的每个项目和列表视图中的每个项目提供一个工具提示,并且为列表视图中的每个子项目(即列)提供不同的工具提示。
我可以确定我想要显示的文本(使用当前鼠标位置的命中测试等):
private void toolTip1_Popup(object sender, PopupEventArgs e)
{
if (e.AssociatedControl == listView1)
{
toolTip1.SetToolTip(listView1, "foo");
}
}
但任何设置工具提示文本的尝试都会导致堆栈溢出.
如何在工具提示(图标、标题、文本)出现之前对其进行自定义?
您需要保护您的代码Popup
事件处理程序,以便如果您正在调用SetToolTip
从里面,你不打电话SetToolTip
again.
就像是:
private bool updatingTooltip;
private void toolTip1_Popup(object sender, PopupEventArgs e)
{
if (!this.updatingTooltip && (e.AssociatedControl == listView1))
{
this.updatingTooltip = true;
toolTip1.SetToolTip(listView1, "foo");
this.updatingTooltip = false;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)