【问题标题】:Disable iBeam pointer in TextBox using VB.NET使用 VB.NET 在 TextBox 中禁用 iBeam 指针
【发布时间】:2016-12-13 03:58:09
【问题描述】:

我目前正在使用 VB.NET 2015 开发一个 TextBox,它是只读的,仅通过按钮单击事件插入字符。我想隐藏或禁用 TextBox 内的 iBeam,让用户知道它只能通过单击按钮而不是通过在实际键盘上手动键入来访问。我尝试将其 ReadOnly 属性更改为 True 并将光标属性更改为 iBeam 以外的光标,但它们似乎不起作用。

还有其他方法吗,可能是代码或属性在访问时禁用 TextBox 中的 iBeam?

这张图片是我的屏幕键盘示例。如您所见,只要单击屏幕上的一个键,就可以看到 TextBox 上的 iBeam。

【问题讨论】:

    标签: vb.net winforms visual-studio-2015 textbox


    【解决方案1】:

    使用来自 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 2013-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-26
      相关资源
      最近更新 更多