这看起来很简单,但我无法想办法解决这个问题,互联网上任何地方都找不到解决办法让我相信不可能使用这种语言
我有一个简单的程序,你给它输入,点击一个按钮然后输出到一个文本框。
我必须将其设为文本框而不是标签,因为您无法突出显示标签中的文本,这是用户能够复制文本所必需的。但是,作为文本框,用户可以选择该框。我已将它设置为ReadOnly,因此无法输入,但如果单击该框并且看起来非常糟糕,则闪烁的文本光标仍然存在。我也尝试将Enabled设置为False,但随后文本无法突出显示。
不应该选择文本框本身,只能选择文本框内的文本。
我该怎么做?
答案 0 :(得分:2)
P / Invoke是我所知道的唯一方法。
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function HideCaret(hWnd As IntPtr) As Boolean
End Function
Private Sub TextBox1_GotFocus(sender As Object, e As EventArgs) Handles TextBox1.GotFocus
HideCaret(TextBox1.Handle)
End Sub
以下是user32.dll HideCaret函数的文档: http://msdn.microsoft.com/en-us/library/windows/desktop/ms648403(v=vs.85).aspx