|
|||||||
Время создания: 04.10.2019 23:38
Текстовые метки: c#, winforms, textbox, TextBox подсказка
Раздел: Компьютер - C# - WinForms - TextBox
Запись: Kozlov-AE/Tetra/master/base/1570221515kssqse4slb/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
В WinForms это решается созданием класса-наследника от TextBox, отправлающего самому себе сообщение EM_SETCUEBANNER: using System; using System.ComponentModel; using System.Windows.Forms; using System.Runtime.InteropServices; class CueTextBox : TextBox {
[Localizable(true)] public string Cue {
get { return mCue; } set { mCue = value; updateCue(); } }
private void updateCue() {
if (this.IsHandleCreated && mCue != null) {
SendMessage(this.Handle, 0x1501, (IntPtr)1, mCue); }
}
protected override void OnHandleCreated(EventArgs e) {
base.OnHandleCreated(e); updateCue();
}
private string mCue; // PInvoke [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, string lp); }
Добавляете этот класс в проект, компилируете, потом бросаете CueTextBox из Toolbox на форму и задаете свойство Cue. В остальном он ведет себя так же, как стандартный TextBox. |
|||||||
|
|||||||
|