Winforms: Screen Location of Caret Position

2019-02-23 08:33发布

问题:

How can I find the screen position of the caret for a standard Winforms TextBox?

回答1:

You can do it only with native interop: GetCaretPos

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetCaretPos(out Point lpPoint);


回答2:

I have been using the TextBox.GetPositionFromCharIndex function. It gives coordinates relative to the top left of the the TextBox.