2016-12-13 3 views
0

Ich arbeite derzeit an einer TextBox mit VB.NET 2015, die schreibgeschützt ist und nur Zeichen durch ein Button-Click-Ereignis einfügt. Ich möchte den iBeam in der TextBox ausblenden oder deaktivieren, um den Benutzer wissen zu lassen, dass er nur durch Klicken auf die Schaltfläche und nicht durch manuelle Eingabe auf der eigentlichen Tastatur zugänglich ist. Ich habe versucht, seine ReadOnly-Eigenschaft in True und Cursor-Eigenschaft zu anderen Cursorn als dem iBeam ändern, aber sie scheinen nicht zu arbeiten.Deaktivieren Sie iBeam-Zeiger in TextBox mit VB.NET

Gibt es eine andere Möglichkeit, kann es ein Code oder eine Eigenschaft sein, die den iBeam in der TextBox deaktiviert, wenn auf sie zugegriffen wird?

Dieses Bild ist ein Beispiel für eine Bildschirmtastatur. Wie Sie sehen können, ist der iBeam in der TextBox sichtbar, sobald ich auf einen der Bildschirmtasten klicke.

enter image description here

Antwort

0

Verwenden Sie die HideCaret() API-Aufruf aus dem GotFocus() Veranstaltung Ihrer TextBox:

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 
+0

Es funktionierte perfekt! Vielen Dank. –

Verwandte Themen