gpt4 book ai didi

vb.net - 如何增加 DataGridView 列标题工具提示的显示时间?

转载 作者:行者123 更新时间:2023-12-05 04:06:03 25 4
gpt4 key购买 nike

我目前像这样设置 DGV 列标题的工具提示:

dgv.Columns(1).ToolTipText = "一些文本"

目前,文本将显示大约 5 秒。我想将它增加到 10 秒。我正在这样设置我的工具提示,因为对于我的每个 DataGridView,我将有大约 20 个单独的工具提示标题用于 20 列。

最佳答案

据我所知,没有任何公开的属性可以让您更改 ToolTip.AutoPopDelay .您将需要求助于反射和 DataGridView source code破解解决方案。

DataGridView 有一个名为toolTipControl 的字段,它是DataGridViewToolTip 的一个实例。 . DataGridViewToolTip 有一个名为 toolTip 的字段,它是一个 System.Windows.Forms.ToolTip。此字段在 DataGridViewToolTip.Activate 方法中初始化。

使用此信息,可以构造以下代码来更改 AutoPopDelay

Private Shared Sub SetDGVToolTipDelay(dgv As DataGridView)
Dim fi_toolTipControl As FieldInfo = GetType(DataGridView).GetField("toolTipControl", BindingFlags.Instance Or BindingFlags.NonPublic)
Dim toolTipControl As Object = fi_toolTipControl.GetValue(dgv)

Dim fi_ToolTip As FieldInfo = fi_toolTipControl.FieldType.GetField("toolTip", BindingFlags.Instance Or BindingFlags.NonPublic)
Dim tt As ToolTip = CType(fi_ToolTip.GetValue(toolTipControl), ToolTip)
If tt Is Nothing Then
tt = New ToolTip
tt.ShowAlways = True
tt.InitialDelay = 0
tt.UseFading = False
tt.UseAnimation = False
fi_ToolTip.SetValue(toolTipControl, tt)
End If
tt.AutoPopDelay = 10000 ' 10 seconds
End Sub

只需调用 SetDGVToolTipDelay 并传递要更改延迟的 DataGridView 实例。

关于vb.net - 如何增加 DataGridView 列标题工具提示的显示时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50400129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com