//Nécessite une Textbox nommé pour l'exemple TextBox1
public class Form1
{
[DllImport("user32.dll",SetLastError=True)]
static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight);
[DllImport("user32.dll",SetLastError=True)]
static extern bool ShowCaret(IntPtr hWnd);
Bitmap _caretBitmap = new Bitmap(@"C:\VotreCaret.jpg");
Private void TextBox1_GotFocus(object sender,eventArgs e)
{
IntPtr hTextBox1 = TextBox1.Handle;
IntPtr hCaretBitmap = _caretBitmap.GetHBitmap();
CreateCaret(hTextBox1, hCaretBitmap,0,0);
ShowCaret(hTextBox1);
}