Подсказка в поле ввода текста - 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