Jos*_*lsh 1 vb.net textbox winforms
我在VB.NET中制作一个程序,需要在文本框中隐藏Caret.
我可以忍受它完全隐藏或与文本框背景颜色相同的颜色.我该怎么做呢?如果可能的话,我宁愿远离自定义控件.
谢谢
在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到表单上.
Public Class NoCaretBox
Inherits TextBox
Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
HideCaret(Me.Handle)
MyBase.OnGotFocus(e)
End Sub
Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
ShowCaret(Me.Handle)
MyBase.OnLostFocus(e)
End Sub
Private Declare Function HideCaret Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
Private Declare Function ShowCaret Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
End Class
Run Code Online (Sandbox Code Playgroud)