Tema: evento leave
Ver Mensaje Individual
  #12 (permalink)  
Antiguo 27/09/2012, 12:03
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: evento leave

Cita:
Iniciado por JonathanB Ver Mensaje
Saludos, si lo que quieres es colocar una marca de agua en tus TextBox, puedes crear una nueva clase a la cual le pondrás de nombre NativeTextBox.

Luego ingresa el siguiente código en la clase:

Código csharp:
Ver original
  1. using System;
  2. using System.ComponentModel;
  3. using System.Drawing;
  4. using System.Windows.Forms;
  5. using System.Runtime.InteropServices;
  6.  
  7. namespace JBucaro.NativeControls
  8. {
  9.     class NativeTextBox : TextBox
  10.     {
  11.         public const int ECM_FIRST = 0x1500;
  12.         public const int EM_SETCUEBANNER = ECM_FIRST + 1;
  13.  
  14.         [DllImport("user32.dll", CharSet = CharSet.Unicode)]
  15.         public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);
  16.  
  17.         private string _cueBannerText = string.Empty;
  18.  
  19.         public string CueBannerText
  20.         {
  21.             get
  22.             {
  23.                 return _cueBannerText;
  24.             }
  25.             set
  26.             {
  27.                 _cueBannerText = value;
  28.                 this.SetCueText();
  29.             }
  30.         }
  31.  
  32.         private void SetCueText()
  33.         {
  34.             SendMessage(this.Handle, EM_SETCUEBANNER, new IntPtr(0), _cueBannerText);
  35.         }
  36.     }
  37. }

Al compilar, aparecerá un nuevo control en tu barra de herramientas (Componentes de "tu proyecto").

Únicamente debes de reemplazar tus TextBox con este control y llenar el valor de la propiedad CueBannerText con el texto que quieres que se muestre si el texto no tiene contenido. Ya no necesitas hacer la comparación en el evento OnLeave.

Saludos,
Muy buen ejemplo, esto funciona para todas las versiones de Windows, Windows XP para arriba claro

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones