Foros del Web » Programación para mayores de 30 ;) » .NET »

evento leave

Estas en el tema de evento leave en el foro de .NET en Foros del Web. Hola, tengo una duda. tengo lo siguiente en c#. dentro de mi evento leave en una caja de texto quiero que compare si esta vació. ...
  #1 (permalink)  
Antiguo 11/09/2012, 11:58
 
Fecha de Ingreso: septiembre-2011
Ubicación: irapuato
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 1
evento leave

Hola, tengo una duda. tengo lo siguiente en c#.
dentro de mi evento leave en una caja de texto quiero que compare si esta vació. si esta vació regrese un string a text de la caja de texto(cajadetexto.text).
Por ejemplo. mi caja de texto esta asi en el load
Cita:
txtCajaTexto.text = "Nombre";
y en el evento leave
Cita:
if(txtCajaTexto.text ="")
{
txtCajaTexto.text="Nombre";
}
Lo que quiero es hacer un metodo que me automatize esta tarea. por ejemplo si tengo otra caja de texto txtCajaTexto2.text = "Apellido"; poder utilizar un solo metodo para no tener que escribir un metodo para cada caja de texto.
Agradeceria mucho que me ayudaran
  #2 (permalink)  
Antiguo 11/09/2012, 12:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: evento leave

Bueno podrias usar lo siguiente

Código C#:
Ver original
  1. function validar(TextBox t){
  2.     if(t.Text == ""){
  3.          //validando
  4.    }
  5. }

Luego en cada uno de tus eventos leave solo mandas así

validar(txtCajaTexto);
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 11/09/2012, 13:44
 
Fecha de Ingreso: septiembre-2011
Ubicación: irapuato
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: evento leave

Pero en ese código no me devuelve el texto de la caja que debe aparecer cuando esta vacía.
Trato de imitar un comportamiento como las cajas de texto de este.
http://mx.jobrapido.com/
Vez que si entra el evento leave en las cajas de texto y estas están vacías la caja de texto tiene el texto de el inicio. No se si me explique
  #4 (permalink)  
Antiguo 11/09/2012, 14:50
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: evento leave

Tu lo que quieres es mostrar texto como marca de agua para eso podes usar jquery
http://www.mkyong.com/jquery/jquery-...on-text-input/
Watermark Input Plugin
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #5 (permalink)  
Antiguo 11/09/2012, 15:00
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: evento leave

Cita:
Iniciado por psd_atack Ver Mensaje
Pero en ese código no me devuelve el texto de la caja que debe aparecer cuando esta vacía.
Trato de imitar un comportamiento como las cajas de texto de este.
http://mx.jobrapido.com/
Vez que si entra el evento leave en las cajas de texto y estas están vacías la caja de texto tiene el texto de el inicio. No se si me explique
Pero el código que te puse sirve para lo que quieres, nadie te va a dar todo hecho tu ya por lógica (si es que puedes interpretar cosas tan sencillas) puedes entender el ejemplo que hice

Código C#:
Ver original
  1. function ponerMarca(TextBox t, String marca){
  2.     if(t.Text == ""){
  3.          t.Text = marca;
  4.    }
  5. }

Ya en tu evento leave solo lo llamas así

ponerMarca(txtApellido,"Apellido Paterno");

No entiendo porque algo tan sencillo la gente no entiende


Cita:
Iniciado por cristiantorres Ver Mensaje
Tu lo que quieres es mostrar texto como marca de agua para eso podes usar jquery
http://www.mkyong.com/jquery/jquery-...on-text-input/
Watermark Input Plugin

Ese ejemplo es aplicado a entorno web, ademas no entiendo porque la gente se acostumbra a usar siempre jQuery por eso es que a veces la gente no comprende como funciona realmente JavaScript algo tan sencillo no es necesario usar jQuery

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 11/09/2012, 15:02
 
Fecha de Ingreso: septiembre-2011
Ubicación: irapuato
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: evento leave

Solo que mi aplicacion es un windows form.
a mi se me ocurre que de alguna manera el evento sepa que se trata de la caja de texto a la cual esta relacionada y saque su propiedad text. y la regrese a su estado anterior. o no se. estoy algo trabado amigos. aun asi muchas gracias por sus respuestas
  #7 (permalink)  
Antiguo 11/09/2012, 15:15
 
Fecha de Ingreso: septiembre-2011
Ubicación: irapuato
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: evento leave

Cita:
Iniciado por Dradi7 Ver Mensaje
Pero el código que te puse sirve para lo que quieres, nadie te va a dar todo hecho tu ya por lógica (si es que puedes interpretar cosas tan sencillas) puedes entender el ejemplo que hice

Código C#:
Ver original
  1. function ponerMarca(TextBox t, String marca){
  2.     if(t.Text == ""){
  3.          t.Text = marca;
  4.    }
  5. }

Ya en tu evento leave solo lo llamas así

ponerMarca(txtApellido,"Apellido Paterno");

No entiendo porque algo tan sencillo la gente no entiende





Ese ejemplo es aplicado a entorno web, ademas no entiendo porque la gente se acostumbra a usar siempre jQuery por eso es que a veces la gente no comprende como funciona realmente JavaScript algo tan sencillo no es necesario usar jQuery

Saludos
Jajajaja, genial, no lo habia pensado asi. Estaba enfocado en hacerlo del otro modo que no vi esta manera tan facil.
De echo el codigo que me tenias era parecido al que tenia antes. solo me faltaba ese pequeño detalle. de igual manera muchas gracias brother!.
Y respecto a lo de los JQuerys. creo que cada quien tiene su manera de programar y es decision de cada quien usar JQuerys o javascript. cada quien implementa lo que mas le guste y lo que mas le acomode
  #8 (permalink)  
Antiguo 11/09/2012, 15:29
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: evento leave

Cita:
Iniciado por psd_atack Ver Mensaje
Jajajaja, genial, no lo habia pensado asi. Estaba enfocado en hacerlo del otro modo que no vi esta manera tan facil.
De echo el codigo que me tenias era parecido al que tenia antes. solo me faltaba ese pequeño detalle. de igual manera muchas gracias brother!.
Y respecto a lo de los JQuerys. creo que cada quien tiene su manera de programar y es decision de cada quien usar JQuerys o javascript. cada quien implementa lo que mas le guste y lo que mas le acomode
Bueno no voy a discutir si jQuery o programar puro Javascript, pero jQuery es una herramienta en Javascript si hablamos de performance rendimiento y otras cosas se puede observar que jQuery a veces no es conveniente trabajar en los proyectos OJO que no destaco que sea un buen framework

Ademas uno debe aprender primero la base de todo JavaScript antes de poder trabajar con una librería

Saludos
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #9 (permalink)  
Antiguo 11/09/2012, 17:19
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: evento leave

Ahh perdon pense que era una aplicacion web ya que el ejemplo del link que pusistes pues era una web, si es winform la manera que te lo indica Dradi7 te funciona.

Con respecto a lo de jquery y javascript bueno esta claro que para poder usar jquery tenes que antes haber usado javascript, pero si jquery se creo para sacar un mejor provecho a jquery de una manera mas fácil no veo porque no usarlo en ves de javascript.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #10 (permalink)  
Antiguo 26/09/2012, 17:07
 
Fecha de Ingreso: septiembre-2012
Ubicación: Antioquia
Mensajes: 8
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: evento leave

Una sugerencia no uses TextBox.Text == "" sino string.IsNullOrEmpty(TextBox.Text) y/o string.IsNullOrWhiteSpace(TextBox.Text)
  #11 (permalink)  
Antiguo 27/09/2012, 11:23
Usuario no validado
 
Fecha de Ingreso: junio-2010
Ubicación: Guatemala
Mensajes: 196
Antigüedad: 13 años, 10 meses
Puntos: 25
Sonrisa Respuesta: evento leave

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,
  #12 (permalink)  
Antiguo 27/09/2012, 12:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 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

Etiquetas: evento
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:33.