VB ListView添加多行气泡式Tooltip提示

VB 里的 ListView 有时候挺难搞,尤其是想加点更人性化的提示信息。

ListView 的 Item 上加多行气泡式 Tooltip就是一个挺实用的小技巧,能让用户一眼看到更多细节,不用点进去查那么麻烦。

原理其实不复杂,主要是靠Windows API里的 Tooltip 控件搞定,自己再封装一个CTooltip类模块,把创建窗口、设置样式和内容这些逻辑都包起来。API 用得多的朋友一看就懂,比如CreateWindowExSendMessage这些老熟人都有用到。

样式方面用了气泡式的效果,看起来就比较“高级”,而且支持多行文本,像vbCrLf换行符也都能识别。你只要传一段换好行的字符串进去,Tooltip 就能显示得漂漂亮亮的。

怎么用?你可以在 ListView 绑定完数据后,用For循环把每个ListItem都配上 Tooltip,像这样:

Dim tooltip As New CTooltip
tooltip.Init
For i = 0 To lvwMain.ListItems.Count - 1
  Dim tipText As String
  tipText = "这是一个示例提示文本。" & vbCrLf & "它包含多行内容。"
  tooltip.AddTool lvwMain.ListItems(i), tipText
Next
tooltip.Cleanup
Set tooltip = Nothing

响应也快,效果也稳定,不用额外加什么 OCX,纯代码搞定,兼容性也挺不错。就是 API 部分要多注意下,参数传错容易没反应。

如果你在用 VB 写 WinForm,又想让 ListView 交互更友好一点,这套做法蛮值得试试的。

pdf 文件大小:24.72KB