lunes, julio 27, 2026

Precaución al utilizar el evento Closing en nuestros formularios

En el evento Closing de los formularios, podemos asignar un valor a la propiedad Cancel de la variable pasada como segundo parámetro del evento (event), si el valor que asignamos es verdadero (True), lograremos que el formulario no se cierre. Esto está bien, si por ejemplo al usuario se le avisa de que aún hay cosas sin guardar, etc., ya que damos la oportunidad de que se cancele el cierre del formulario y se pueda continuar utilizando el programa.

Pero… (¿es que no sabes que casi siempre hay un pero?) imagínate que esa cancelación se hace sin que el usuario esté presente o pueda decidir si se debe cancelar el cierre del formulario. Este caso se dará si el sistema se está cerrando, ya que se le envía al formulario un mensaje de cierre, y por tanto se produce el evento Closing. Pero si dentro del evento se asigna el valor verdadero a la propiedad Cancel, entonces podemos encontrarnos con que el sistema operativo no se cerrará… Ya que el sistema bloquea la accion del SO.

Este problema es aplicable tanto a VB.NET como a C# (y me imagino que al resto de los lenguajes .NET).

Sin embargo, en las versiones de Visual Basic anteriores a punto NET, si se cancelaba el cierre de un formulario y era el sistema operativo el que hacía la petición de cierre, esa cancelación se obviaba y el formulario se cerraba, así como el sistema.

No podriamos decir si es una pulga o es una cualidad del .Net, pero de todos modos debes tener presente esto a la hora de hacer tus aplicaciones.




Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

Redes Sociales

2,736FansMe gusta
326SeguidoresSeguir

Popular esta semana

SQL Server

DELETE con subconsulta o INNER JOIN

En el siguiente ejemplo se explica la forma en que se pueden eliminar registros en nuestras tablas en SQL Server con instrucciones...

Concatenar textos NSString en XCode

Para concatenar strings en XCode ya se han definido funciones especificas, algunas permite concatenar N cantidad de variables o palabras y otras solo permite concatenar 2 variables y obtener como resultado un NSString.

¿Cómo agregar una IP adicional en una VM Ubuntu en Azure?

Lo más común al momento de crear y configurar un nuevo servidor es que a este le asigne un solo IP, pero...

Últimos artículos

SQL Server MERGE

MERGE in SQL Server for Insert, Delete and Update with two tables

Practical example using MERGE to synchronize two tables, Insert, Update and Delete in a single query. Valid for SQL SERVER 2008 or...

Como crear una API REST con ASP.NET Core 6.0

Crear una API REST con C# en ASP.NET es un proceso sencillo y rápido que permite exponer un conjunto de recursos a...
Machine Learning & Python

Introducción a Machine Learning en Python

Machine Learning es una rama de la inteligencia artificial que se enfoca en el desarrollo de sistemas que pueden aprender de...
SQL Server MERGE

MERGE en SQL Server, como utilizarlo de forma sencilla

El comando MERGE en SQL Server se utiliza para combinar datos de varias tablas en una sola tabla. Es útil para actualizar...