You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何为TreeView的TreeNode设置ToolTip显示延迟?

解决方案

以下两种方案均无需手动调用DrawNode绘制节点,可直接实现TreeNode ToolTip显示延迟调整:

方案1:优化现有自定义ToolTip绑定方案

改动最小,适配你已有的临时实现逻辑:

  1. 首先将TreeView的ShowNodeToolTips属性设为false,避免自带ToolTip和自定义ToolTip冲突
  2. 窗体初始化阶段提前配置自定义ToolTip的延迟属性:
// 单位均为毫秒,可按需调整
toolTip1.InitialShowDelay = 1000;
toolTip1.AutoPopDelay = 5000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
  1. 优化事件绑定逻辑,解决位置偏移、ToolTip残留问题:
private void treeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
    if (!string.IsNullOrEmpty(e.Node.ToolTipText))
    {
        // 调整显示位置到鼠标右下方,避免遮挡节点
        Point pos = treeView1.PointToClient(Cursor.Position);
        pos.Offset(10, 10);
        toolTip1.Show(e.Node.ToolTipText, treeView1, pos);
    }
}

// 鼠标离开TreeView时隐藏ToolTip
private void treeView1_MouseLeave(object sender, EventArgs e)
{
    toolTip1.Hide(treeView1);
}

// 可选:鼠标离开节点时立即隐藏ToolTip
private void treeView1_NodeMouseLeave(object sender, TreeNodeMouseHoverEventArgs e)
{
    toolTip1.Hide(treeView1);
}

方案2:调用系统API修改TreeView原生ToolTip延迟

无需额外添加ToolTip控件,完全复用TreeNode自带的ToolTipText逻辑,更轻量:

  1. 先导入系统API声明:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);

private const uint TVM_GETTOOLTIP = 0x1100 + 45;
private const uint TTM_SETDELAYTIME = 0x400 + 3;
private const int TTDT_INITIAL = 3; // 初始显示延迟参数标识
private const int TTDT_AUTOPOP = 2; // 自动消失延迟参数标识
private const int TTDT_RESHOW = 1; // 切换后重显示延迟参数标识
  1. 在TreeView初始化完成后(如窗体Load事件中)执行配置:
// 获取TreeView内置ToolTip的句柄
IntPtr nativeTipHandle = SendMessage(treeView1.Handle, TVM_GETTOOLTIP, IntPtr.Zero, IntPtr.Zero);
if (nativeTipHandle != IntPtr.Zero)
{
    // 设置初始显示延迟为1000毫秒,可按需调整数值
    SendMessage(nativeTipHandle, TTM_SETDELAYTIME, (IntPtr)TTDT_INITIAL, (IntPtr)1000);
    // 可按需添加其他延迟配置,例:
    // SendMessage(nativeTipHandle, TTM_SETDELAYTIME, (IntPtr)TTDT_AUTOPOP, (IntPtr)5000);
}

内容的提问来源于stack exchange,提问作者MysticMia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:48:04