Musisz użyć interfejsów API Win32. Oto, co można zrobić w VB:
'API declares
Private Declare Function HideCaret Lib "user32" _
(ByVal hwnd As IntPtr) As Integer
Private Declare Function ShowCaret Lib "user32" _
(ByVal hwnd As IntPtr) As Integer
'hide the caret in myTextBox
Call HideCaret(myTextBox.Handle)
'show the caret back..
Call ShowCaret(myTextBox.Handle)
i C#
[DllImport("user32.dll", EntryPoint = "ShowCaret")]
public static extern long ShowCaret(IntPtr hwnd);
[DllImport("user32.dll", EntryPoint = "HideCaret")]
public static extern long HideCaret(IntPtr hwnd);
następnie wykonać połączenie do
HideCaret(richtextbox.Handle)
gdy kiedykolwiek chcesz, aby ją ukryć.
jako dodatek znalazłem sukces podczas wywoływania go wewnątrz zdarzenia 'textbox.GotFocus' – maxp