[英]How to get Keyboard cursor position as Point in textbox
我想在文本框或RichtextBox中获取键盘光标的位置。 在WinFrom上,我通过使用以下代码做到了这一点
Point p = rtb.GetPositionFromCharIndex(rtb.SelectionStart);
p.Y += (int)rtb.Font.GetHeight()*2;
lstboxIntelli.Location = p;
lstboxbIntelli.Show();
ActiveControl = lstboxIntelli;
但是在WPF中,我无法获取GetPositionFromCharIndex
属性,是否有其他方法可以实现这一点
我想在键盘光标的正下方放置一个列表框(如Intellisense)
任何帮助将不胜感激
在WPF TextBox
您可以通过多种方式获得插入符的位置:
不幸的是, TextBox
没有GetPositionFromCharIndex
,因此您必须使用GetRectFromCharacterIndex
来做一些技巧,以获取智能感知的起点:
var rect = rtb.GetRectFromCharacterIndex(rtb.CaretIndex);
var point = rect.BottomRight;
注意:我们正在使用BottomRight
将智能感知放置在适当的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.