Это список функций Native Caret, предоставляемых Windows, которые вы можете использовать для своего приложения.
[DllImport("User32.dll")]
static extern bool CreateCaret(IntPtr hWnd, int hBitmap, int nWidth, int nHeight);
[DllImport("User32.dll")]
static extern bool SetCaretPos(int x, int y);
[DllImport("User32.dll")]
static extern bool DestroyCaret();
[DllImport("User32.dll")]
static extern bool ShowCaret(IntPtr hWnd);
[DllImport("User32.dll")]
static extern bool HideCaret(IntPtr hWnd);
См. SharpDevelop, Исходный код @ src \ Libraries \ ICSharpCode.TextEditor \ Project \ Src \ Gui \ Caret.cs