如何根据光标的位置显示弹出窗口等任何内容(例如信息)?

时间:2011-11-17 20:42:13

标签: c# wpf textbox

我想在textBox上准确地显示一些信息在光标处。不像在C#的intellisense中那样:它出现在“。”的位置。插入。请帮助。在图片中你看到它按照点(“。”)显示但是我希望它按照我在图片中提到的那样出现(抱歉我的英语很糟糕,我无法找到这意味着什么。)< / p>

enter image description here

3 个答案:

答案 0 :(得分:2)

您可以做的是,每当用户按下文本框内的某个键时,处理OnKeyDown事件,计算当前光标位置并重新绘制弹出控件。您可以将此弹出控件定义为自定义控件。

编辑:正如jberger所指出的,你也可以为OnSelectionChanged实现处理程序,以处理任何游标更改。

答案 1 :(得分:1)

您可以使用弹出窗口:http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.popup.aspx

这实际上是一个没有边框显示在其他内容之上的窗口。

将PlacementMode.Mouse分配给属性Placement。还有其他几个属性可以修改弹出位置。

答案 2 :(得分:0)

您还可以使用AdornerClass创建自己的自定义样式弹出窗口。 检查此链接: http://msdn.microsoft.com/en-gb/library/system.windows.documents.adorner.aspx 如果您尚未使用Adorner课程,则可以从:http://msdn.microsoft.com/en-us/library/ms753340.aspx

开始