Alcune caselle di testo di Internet Explorer 7 e Windows Vista sono dotate di una caratteristica chiamata Cue Banner: quando non contengono testo e non hanno il focus, esse visualizzano un breve messaggio che funge da suggerimento (un effetto di questo tipo è utilizzato, ad esempio, nella casella di ricerca di IE7 e nella TextBox per la password della schermata di login di Vista).
Su CodeProject è disponibile uno UserControl che consente di aggiungere questo effetto all'interno delle proprie applicazioni:
Il codice sorgente, disponibile qui, è scritto in C#, ma all'interno del file scaricato è possibile trovare anche la DLL compilata del controllo, che quindi può essere direttamente utilizzata pure all'interno di progetti VB .NET.
Il controllo di questione utilizza solo codice managed. L'API di Windows fornisce anche una modo per impostare questo stile utilizzando la funzione SendMessage:
private const uint ECM_FIRST = 0x1500;
private const uint EM_SETCUEBANNER = ECM_FIRST + 1;
[DllImport("user32", CharSet = CharSet.Unicode)]
private static extern bool SendMessage(IntPtr hWnd, UInt32 message, IntPtr wParam, string lParam);
//Esempio...
SendMessage(textBox1.Handle, EM_SETCUEBANNER, IntPtr.Zero, "Password");
Il messaggio EM_SETCUEBANNER è supportato anche da Windows XP.