Изменить цвет каретки или скрыть ее VB.NET - PullRequest
1 голос
/ 13 сентября 2011

Я делаю программу на VB.NET, и мне нужно скрыть каретку в текстовых полях.

Я мог бы жить, если бы он был полностью скрыт или имел тот же цвет, что и цвет фона текстовых полей.Как я могу сделать это?Я бы предпочел держаться подальше от пользовательских элементов управления, если это вообще возможно.

Спасибо

1 Ответ

6 голосов
/ 13 сентября 2011

Добавьте новый класс в ваш проект и вставьте код, показанный ниже. Компиляция. Перетащите новый элемент управления из верхней части панели инструментов на форму.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...