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

Answer: 
You can do it only with native interop: [GetCaretPos](http://msdn.microsoft.com/en-us/library/ms648402(VS.85).aspx)

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

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