为 ToolTip 提供程序添加“气球”样式






4.59/5 (20投票s)
2005年4月29日
1分钟阅读

127201

2071
如何为 ToolTip Provider 添加“气球”样式


引言
有很多关于“气球”Tooltip的文章,很多代码都编写了类来解决这个问题。在这里,我展示了另一个我认为最简单且不会影响现有System.Windows.Forms.ToolTip实现的解决方案。
解决方案
你可能知道,反射是 .NET Framework 中的一大优势,我认为这次也会用到它。System.Windows.Forms.ToolTip 类持有本机工具提示窗口的句柄。这个句柄是非公共的,所以我们需要使用反射来获取这个成员。然后,我们可以将窗口的样式更改为“balloon”。
用法
需要在创建 ToolTip 窗口句柄的地方调用 SetBalloonStyle 函数。在我的示例中,我在 Form 的 OnLoad 中执行此操作。如果使用无效的句柄调用该函数,将会抛出异常。
protected override void OnLoad(EventArgs e)
{
  base.OnLoad (e);  
  // set toolTip native window style to "balloon".
  NativeMethods.SetBalloonStyle ( toolTip1 );
}
最终注释
可以使用相同的方法在许多地方使用,例如在 System.Windows.Forms.PropertyGrid 中使其扁平化。
历史
- 2005 年 5 月 2 日:添加了 SetBackColor函数,展示了如何更改工具提示窗口的颜色
许可证
本文没有明确的许可证附加到它,但可能包含文章文本或下载文件本身中的使用条款。如有疑问,请通过下面的讨论区联系作者。作者可能使用的许可证列表可以在此处找到。
