1

我正在使用CellToolTipTextNeededa 的事件DataGridView,并且工具提示显示在鼠标下方。我可以ToolTip通过反射将对象取出,但我无法控制它的位置,因为我不是调用Show(). 如何移动工具提示?

4

4 回答 4

1

如果您想使用 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

抱歉,但这似乎没有一个快速简便的答案。希望有人会证明我错了,因为两者都是为了。

斯科特

于 2009-03-25T16:00:10.690 回答
1

定制的怎么样?

于 2009-03-19T01:57:25.827 回答
1

我认为简短的回答是:你不能,反正现在还不能。我可能会考虑构建一个自定义的,如建议的“未知(雅虎)”。

于 2009-03-19T02:12:35.370 回答
1

此链接上有一个使用 Tooltip 对象的好答案。

如何覆盖 C# datagridview 的默认工具提示行为以增加特定单元格的工具提示延迟

于 2012-02-24T01:46:41.027 回答