Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.GotFocus
CaretUpdate()
End Sub
<Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
Public Shared Function CreateCaret(ByVal hWnd As IntPtr, ByVal hBitmap As IntPtr, ByVal nWidth As Integer, ByVal nHeight As Integer) As Boolean
End Function
<Runtime.InteropServices.DllImport("user32.dll")> _
Public Shared Function ShowCaret(ByVal hWnd As IntPtr) As Boolean
End Function
Private Sub CaretUpdate()
Using bmp As New Bitmap(8, Me.TextBox1.ClientSize.Height)
Dim g As Graphics = Graphics.FromImage(bmp)
g.Clear(Color.Black)
g.FillRectangle(Brushes.White, New Rectangle(0, (Me.TextBox1.ClientSize.Height) - 2 - 1, 8, 2))
CreateCaret(TextBox1.Handle, bmp.GetHbitmap, 2, 12)
ShowCaret(TextBox1.Handle)
End Using
End Sub