我目前正在使用VB.NET 2015开发一个TextBox,它是只读的,只能通过按钮点击事件插入字符。我想在TextBox中隐藏或禁用iBeam,让用户知道它只能通过按钮点击而不是通过在实际键盘上手动输入来访问。我已经尝试将其ReadOnly属性更改为True,并将游标属性更改为除iBeam之外的游标,但它们似乎不起作用。
还有其他方法,可能是代码或属性在访问时禁用TextBox中的iBeam吗?
此图像是我的屏幕键盘示例。如您所见,只要我点击其中一个屏幕键,就可以看到TextBox上的iBeam。
答案 0 :(得分:0)
使用TextBox的GotFocus()事件中的HideCaret() API调用:
Private Declare Function HideCaret Lib "user32.dll" (ByVal hWnd As IntPtr) As Boolean
Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
HideCaret(TextBox1.Handle)
End Sub