Подсказка в поле ввода текста - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста какое свойство текстового поля назначает текст подсказки до внесения данных? Как это можно реализовать в Visual Studio. Смысл - например в текстбоксе поиск затененная надпись "введите фамилию".

Решение задачи: «Подсказка в поле ввода текста»

textual
Листинг программы
Public Class PlaceholderTextBox
    Inherits TextBox
 
    Protected Overrides Sub OnHandleCreated(e As EventArgs)
 
        MyBase.OnHandleCreated(e)
        If Not String.IsNullOrWhiteSpace(_placeholderText) Then
            SendMessage(Handle, EM_SETCUEBANNER, 0, _placeholderText)
        End If
 
    End Sub
 
    Dim _placeholderText As String = ""
 
    Public Property PlaceholderText() As String
        Get
            Return _placeholderText
        End Get
        Set
            _placeholderText = If(value Is Nothing, "", value)
            If IsHandleCreated AndAlso Not String.IsNullOrWhiteSpace(_placeholderText) Then
                SendMessage(Handle, EM_SETCUEBANNER, 0, _placeholderText)
            End If
        End Set
    End Property
 
    Const EM_SETCUEBANNER As Integer = &h501
 
    <DllImport("user32.dll", CharSet:=CharSet.Auto)> _
    Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As Integer, <MarshalAs(UnmanagedType.LPWStr)> ByVal lParam As String) As Integer
    End Function
 
End Class

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы