WinForms:如何自定义即将显示的工具提示?

WinForms:如何自定义即将显示的工具提示?,winforms,tooltip,Winforms,Tooltip,我想为树状视图中的每个项目和listview中的每个项目提供工具提示,并为listview中的每个子项目(即列)提供不同的工具提示 我可以确定要显示的文本(使用鼠标当前位置的点击测试等): 但任何设置工具提示文本的尝试都会导致错误 如何在工具提示(图标、标题、文本)出现之前对其进行自定义?您需要在弹出窗口事件处理程序中保护您的代码,这样,如果您在其中调用SetToolTip,就不会再次调用SetToolTip 比如: private bool updatingTooltip; private v

我想为树状视图中的每个项目和listview中的每个项目提供工具提示,并为listview中的每个子项目(即列)提供不同的工具提示

我可以确定要显示的文本(使用鼠标当前位置的点击测试等):

但任何设置工具提示文本的尝试都会导致错误


如何在工具提示(图标、标题、文本)出现之前对其进行自定义?

您需要在
弹出窗口
事件处理程序中保护您的代码,这样,如果您在其中调用
SetToolTip
,就不会再次调用
SetToolTip

比如:

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;
    }
}
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;
    }
}