簡體   English   中英

如何獲取鍵盤光標的位置作為文本框中的點

[英]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您可以通過多種方式獲得插入符的位置:

  1. 通過訪問TextBox.SelectionStartTextBox.SelectionLength屬性。
  2. TextBox.CaretIndex屬性。

不幸的是, TextBox沒有GetPositionFromCharIndex ,因此您必須使用GetRectFromCharacterIndex來做一些技巧,以獲取智能感知的起點:

var rect = rtb.GetRectFromCharacterIndex(rtb.CaretIndex);
var point = rect.BottomRight;

注意:我們正在使用BottomRight將智能感知放置在適當的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM