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

Mensaje en el form closing

Estas en el tema de Mensaje en el form closing en el foro de .NET en Foros del Web. [FONT="Comic Sans MS"] Buenos Dias/Tardes/Noches hey necesito hacer un formulario de .net, en el cuando le de cerrar me pregunte si en realidad quiero salir ...
  #1 (permalink)  
Antiguo 07/10/2010, 10:43
Avatar de Kanuto1272  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico DF
Mensajes: 21
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Mensaje en el form closing

[FONT="Comic Sans MS"]Buenos Dias/Tardes/Noches

hey necesito hacer un formulario de .net, en el cuando le de cerrar me pregunte si en realidad quiero salir , que sea en en C# por favor

Les agradeceria mucho su apoyo

[/FONT
  #2 (permalink)  
Antiguo 07/10/2010, 17:13
 
Fecha de Ingreso: septiembre-2009
Ubicación: Medellin
Mensajes: 21
Antigüedad: 14 años, 7 meses
Puntos: 0
Información Respuesta: Mensaje en el form closing

No se si exista una manera mas facil, pero de pongo el codigo de lo que se me ocurre en el momento.

Te explico primero. tengo el Form4 que es el form que quiero confirmar antes de cerrar, para esto cree un Form5 el cual contendra el mensaje de confirmacion.

El Form5 recive como parametro un Form4, esto para la comunicacion de los dos formularios.


Este es el codigo del Form5 (mensaje de confirmacion) el cual posee dos botenes (Si y NO)

public partial class Form5 : Form
{
Form4 Padre;

public Form5(Form4 padre)
{
InitializeComponent();
Padre = padre;
}

private void button1_Click(object sender, EventArgs e) //Boton SI
{
Padre.cerrar = true;
this.Close();
Padre.Close();
}

private void button2_Click(object sender, EventArgs e) //Boton NO
{
Padre.cerrar = false;
this.Close();
}
}

Como puedes ver hago referencia al Form4 como padre, al cual he agregado una variable publica cerrar.

Asi que agrego la variable cerrar al Form4 (form que se va a cerrar)

public partial class Form4 : Form
{
public bool cerrar = false;

aqui va el resto del codigo de la clase.

luego buscamos el evento "FormClosing" de la clse Form4 y agregamso el siguiente codigo:

private void Form4_FormClosing(object sender, FormClosingEventArgs e)
{
Form5 Confirmar = new Form5(this);
Confirmar.Show();
if (cerrar == false)
e.Cancel = true;
}

y listo.


No se si hay una manera mas facil, esto es lo que se me ocurre en el momento.

espero que te sirva.
  #3 (permalink)  
Antiguo 09/10/2010, 11:37
 
Fecha de Ingreso: septiembre-2010
Ubicación: Chetumal
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Mensaje en el form closing

Hola!!

Con el evento formClosing determinas si cierras la ventana o no, utilizando CancelEventArgs, con la propiedad cancel.

Ejemplo C#:
Código:
void FrMain_FormClosing( object sender, System.ComponentModel.CancelEventArgs e){
if (MessageBox.Show("Desea realmente salir","Confirmar",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.No){
	e.Cancel = false;
}
}

this.FormClosing += new FormClosingEventHandler(this.FrMain_FormClosing);
Espero y te ayude

Saludos

Etiquetas: csharp, formulario
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 05:02.