Asunto: Impedir el cierre de una ventana con Alt F4 y el cerrar C#
Estoy desarrollando una aplicación y quiero que en una de las ventanas el usuario no pueda cerrarla pulsando las teclas Alt + F4 ni tampoco con el botón cerrar, en realidad quiero impedir que la ventana pueda ser cerrada de cualquier forma salvo con un botón a tal efecto ¿esto se puede hacer en C#? estoy usando Microsoft Visual C# 2010 (C Sharp). Si es posible ocultar el botón de cerrar de la ventana pues mejor.
Publicado:
Vie Feb 10, 2012 11:07 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Impedir el cierre de una ventana con Alt F4 y el cerrar
Anuncios
varios escribió:
Estoy desarrollando una aplicación y quiero que en una de las ventanas el usuario no pueda cerrarla pulsando las teclas Alt + F4 ni tampoco con el botón cerrar, en realidad quiero impedir que la ventana pueda ser cerrada de cualquier forma salvo con un botón a tal efecto ¿esto se puede hacer en C#? estoy usando Microsoft Visual C# 2010 (C Sharp). Si es posible ocultar el botón de cerrar de la ventana pues mejor.
Sí que es posible, por un lado, si quieres ocultar el botón cerrar de la ventana en las propiedades del formulario busca una llamada "ControlBox" y la pones a False, con MaximizeBox y MinimizeBox también ocultarás los botones de minimizar y maximizar. Si además quieres que no aparezca en la barra de tareas pon a False la propiedad "ShowInTaskBar".
Por otro lado, si quieres que el formulario no se cierre cuando se pulse la combinación de teclas Alt + F4 añade el siguiente código C# al evento FormClosing del formulario:
Código:
private void formFactura_FormClosing(object sender, FormClosingEventArgs e)
{
//Impedir que el formulario se cierre pulsando X o Alt + F4
switch (e.CloseReason)
{
case CloseReason.UserClosing:
e.Cancel = true;
break;
}
}
Como ves en el código incluso puedes saber cómo se está intentando cerrar el formulario con "e.CloseReason", las posibilidades son:
* None: no se definió la causa del cierre o no se pudo determinar.
* WindowsShutDown: el sistema operativo está cerrando todas las aplicaciones antes de cerrarse.
* MdiFormClosing: el formulario principal de este formulario de interfaz de múltiples documentos (MDI) está cerrándose.
* UserClosing: el usuario está cerrando el formulario a través de la interfaz de usuario (IU), por ejemplo haciendo clic en el botón Cerrar de la ventana del formulario, seleccionando Cerrar en el menú de control de la ventana o presionando ALT+F4.
* TaskManagerClosing: el Administrador de tareas de Microsoft Windows está cerrando la aplicación.
* FormOwnerClosing: el formulario de propietario está cerrándose.
* ApplicationExitCall: se invocó el método Exit de la clase Application.
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A