I want to hide the caret in the RichTextBox control and do that with the win api function HideCaret(),but it doesn't work.The cursor is still visible and blinking.Where i should call the function.I tried in the Enter event of the control but doesn't work again.As far as i know i should call the HideCaret() when the RichTextBox gets the focus.Is that right? Here is the code: [DllImport("User32.dll")] static extern Boolean HideCaret(System.IntPtr hWnd); private void richTextBox1_Enter(object sender, EventArgs e) { HideCaret(richTextBox1.Handle); }