我正在使用CellToolTipTextNeeded
a 的事件DataGridView
,并且工具提示显示在鼠标下方。我可以ToolTip
通过反射将对象取出,但我无法控制它的位置,因为我不是调用Show()
. 如何移动工具提示?
4 回答
如果您想使用 2.0 框架控制工具提示的定位方式和位置,除非您想进入 Window 的 API 调用,否则您必须自己使用 Show 和 Hide 方法控制工具提示。
不幸的是,看起来工具提示的位置在它创建的非常非常早的时候就设置好了。工具提示只有 3 个事件要处理,在这种情况下我们对 Dispose 不是很感兴趣。
Draw 事件在 Popup 事件之后触发,并且似乎位置已经设置为 PopupEventArgs 中的 Bounds 属性是只读的。
这是关于创建自定义控件的许多文章之一的链接(在本文发布时):http: //andrusdevelopment.blogspot.com/2007/10/implementing-custom-tooltip-in-c.html
而关于使用工具提示的 Show 和 Hide 方法的 MSDN 文档实际上相当不错:http: //msdn.microsoft.com/en-us/library/44atyhsa (VS.80,printer).aspx
抱歉,但这似乎没有一个快速简便的答案。希望有人会证明我错了,因为两者都是为了。
斯科特
定制的怎么样?
我认为简短的回答是:你不能,反正现在还不能。我可能会考虑构建一个自定义的,如建议的“未知(雅虎)”。
此链接上有一个使用 Tooltip 对象的好答案。