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

No cerrar una ventana pulsando un boton en c#

Estas en el tema de No cerrar una ventana pulsando un boton en c# en el foro de .NET en Foros del Web. Resulta que tengo una ventana en c# y quiero hacer una validacion de campos de un formulario que hay dentro. Lo que pasa es que ...
  #1 (permalink)  
Antiguo 13/01/2010, 13:50
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 18 años, 9 meses
Puntos: 3
No cerrar una ventana pulsando un boton en c#

Resulta que tengo una ventana en c# y quiero hacer una validacion de campos de un formulario que hay dentro.

Lo que pasa es que si el usuario pulsa aceptar, la ventana se cierrra si o si.

No quiero que se cierre sin yo decirle que cierre porque la validacion se la come por completo y no da opcion al usuario a reescribir los datos correctos.

Hay que decirlo en algun sitio??

Muchas gracias!
  #2 (permalink)  
Antiguo 13/01/2010, 13:57
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: No cerrar una ventana pulsando un boton en c#

Prueba usando return.
Código c#:
Ver original
  1. if (String.IsNullOrEmpty(this.TextBox1.Text))
  2. {
  3.      MessageBox.Show("Ingresar texto");
  4.      return; //Si llega acá terminará la función o método no llegando al Close.
  5. }
  6. this.Close();

Saludos.
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 13/01/2010, 14:00
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: No cerrar una ventana pulsando un boton en c#

que rabia se me cierra igual.... tengo esto:


Código C++:
Ver original
  1. private void boton_crear_persona_Click(object sender, EventArgs e)
  2.         {
  3.             //validar formulario vacio
  4.             if ((textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == ""))
  5.             {
  6.                 aviso1.Text = "POR FAVOR, COMPLETA TODOS LOS CAMPOS";
  7.                 MessageBox.Show("Ingresar texto");
  8.                 return; //Si llega acá terminará la función o método no llegando al Close.
  9.             }
  10.             else
  11.             {
  12.                 //crear persona
  13.                 String nombre = textBox1.Text;
  14.                 String direccion = textBox2.Text;
  15.                 String dni = textBox3.Text;
  16.  
  17.                 ClienteFisico objeto_cliente_fisico = new ClienteFisico(nombre, direccion, dni, null);
  18.                 aplicacion.anyadirClienteFisico(objeto_cliente_fisico);
  19.             }
  20. }
  #4 (permalink)  
Antiguo 13/01/2010, 14:19
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: No cerrar una ventana pulsando un boton en c#

Pero por qué se cierra si no hay ninguna línea de código que le indique eso?

Revisa la propiedad DialogResult del botón, debe estar en None, seguro que le has asignado algún valor y al ser una ventana de diálogo se está cerrando.

Saludos.
__________________
Eduardo Peredo
Wigoin
  #5 (permalink)  
Antiguo 13/01/2010, 14:23
 
Fecha de Ingreso: julio-2005
Mensajes: 275
Antigüedad: 18 años, 9 meses
Puntos: 3
Respuesta: No cerrar una ventana pulsando un boton en c#

Cita:
Iniciado por eperedo Ver Mensaje
Pero por qué se cierra si no hay ninguna línea de código que le indique eso?

Revisa la propiedad DialogResult del botón, debe estar en None, seguro que le has asignado algún valor y al ser una ventana de diálogo se está cerrando.

Saludos.
Era eso, muchas gracias! sabia que habia metido la gamba pero no encontraba donde.....
  #6 (permalink)  
Antiguo 13/01/2010, 20:23
 
Fecha de Ingreso: septiembre-2009
Mensajes: 49
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: No cerrar una ventana pulsando un boton en c#

Para complementar esto (y ya que la respuestta del Dialog Result muchas veces lo necesitas) quizás te pueda servir lo que hago yo, que es tener 2 botones. Uno que es el que presiona el usuario y otro oculto que tiene el DialogResult en Ok. El usuario presiona en Aceptar, el form hace todas las revisiones y validaciones respectivas y en el caso que se cumplan todas, llamas al evento PerformClick() del boton que tiene asociado el DialogResult.

Así te evitas que el form en el que estás se cierra (ya que no pasaria el DialogResult) mientras no hace lo que tu quieres en cuanto a validaciones

Etiquetas: cerrar, botones, ventanas
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




La zona horaria es GMT -6. Ahora son las 06:34.