我需要知道TextBox中插入符的位置,以便在其附近弹出上下文菜单。如何找到其位置(而不是字符索引)?
我发现了这篇文章,它描述了我需要完成的内容。原来你可以设置文本框的PlacementTarget和GetRectFromCharacterIndex返回的PlacementRectangle,并且它会起作用。
我想你需要获取插入符号的字符索引,然后通过在插入符号左侧的文本上调用TextRenderer.MeasureText()将其转换为像素坐标。如果你的TextBox是多行的话,这显然会更加复杂。它是多行的吗?
richTextBox.CaretPosition.GetCharacterRect(LogicalDirection.Forward)
- JobaDiniz