2010-11-24 81 views
0

我正在开发一个类似VS的代码编辑器。当鼠标光标落在文本上时,我想显示一个工具提示窗口。 ToolTip.Show()方法要求提供IWin32Window参数...在当前文档上显示工具提示

请告诉我如何在Visual Studio智能感知工作时显示当前文档中的工具提示。

第二个参数

+1

更多信息。你用什么控制来显示你的文字?这是一个自定义控件吗?为什么不能检测鼠标位置并相应地更改工具提示文字? – Brad 2010-11-24 06:51:48

回答

0

ToolTip.Show方法(String,IWin32Window)可以其刀尖是要显示的控制。

toolTip1.Show("Test 123", button1, Int32.MaxValue); 

Visual Studio中跟踪字鼠标下方并相应地显示工具提示/智能感知。一种方法为你做同样的可能是:

  1. 跟踪mouse movements
  2. 获取text under鼠标
  3. Show tooltip
0

ToolTip.Show方法也有其他更合适的过载,如this one

您可以将想要与工具提示关联的编辑控件(即文本框)作为IWin32Window参数传递。如果你想显示此提示在鼠标事件处理中的一个(像MouseMove

  • 然后,您可以为XY参数指定鼠标光标的当前坐标,鼠标光标的当前坐标作为MouseEventArgs的一部分被传入 - 只需使用e.Xe.Y属性即可。

  • 否则,您需要使用Control.MousePosition property来获取其当前位置,该位置将返回Point,表示其相对于屏幕坐标的当前位置。 Another one of the overloadsToolTip.Show方法接受一个Point参数,你可以使用,而不是单独的X位置和Y坐标这里需要