domingo, 28 de marzo de 2010

Deshabilitar el botón cerrar [X] de Formularios en Visual Basic 2005/2008

Para los que lo necesiten dejo este código que está en la documentación de MSDN (Clase CreateParams) y también encontré buscando en la red.

El presente código debe ir luego de Public Class NombreFormulario:
Dim _enabledCerrar As Boolean = False
< System.ComponentModel.DefaultValue(False), System.ComponentModel.Description( "Define si se habilita el botón cerrar en el formulario" )> _
Public Property EnabledCerrar() As Boolean
    Get
         Return
_enabledCerrar
   End Get
   Set
(ByVal Value As Boolean)
     If _enabledCerrar <> Value Then
         _enabledCerrar = Value
     End If
  End Set
End Property
Protected Overrides ReadOnly Property CreateParams() As CreateParams
      Get
               Dim cp As CreateParams = MyBase.CreateParams
               If _enabledCerrar = False Then
                    Const CS_NOCLOSE As Integer = &H200
                    cp.ClassStyle = cp.ClassStyle Or CS_NOCLOSE
               End If
               Return cp
     End Get
End Property

 

Espero les sirva

22 comentarios:

  1. Muchisimas Gracias por el codigo. Probe millones de posibilidades para deshabilitar el boton cerrar. Y este codigo es justo lo que estaba necesitando. Funciona barbaro.
    Gracias por compartirlo

    ResponderEliminar
  2. Hola Andres

    Que bueno que te haya servido y gracias por visitar el blog.

    Saludos cordiales

    ResponderEliminar
  3. Coincido con Andrea... es genial tu código.
    Yo tenía el método para el visual basic 6.0, y es totalmente diferente y no corre en 2005.
    Gracias Wilfredo.

    Saludos cordiales.

    ResponderEliminar
  4. Gracias a ustedes que visitan el blog y si les sirve pues felicitaciones.

    Saludos cordiales

    ResponderEliminar
  5. amigo gracias por el codigo probe muchos y nada que ver pero este codigo de maravillas en VS 2010

    ResponderEliminar
  6. Pues que bueno que te sirva, gracias por visitar el blog.

    Saludos cordiales

    ResponderEliminar
  7. hola, hay una forma de que a ese código en lugar de desactivar el botón X, agregarle un msgbox al hacer clics con opciones???
    Gracias

    ResponderEliminar
  8. La verdad no entendí bien tu pregunta.

    El código alli, es justamente para deshabilitar la X o cerrar del formulario, si tienes alguna otra duda por favor sé mas específico con tu pregunta.

    Saludos cordiales

    ResponderEliminar
  9. si, creo que no me explique bien
    mi pregunta es:
    que si hay un codigo, no para deshabilitar el boton X, si no para que cuando se haga clic en este muestre un msgbox con opciones

    ResponderEliminar
  10. es lo que estaba buscando muchisimas gracias.

    ResponderEliminar
  11. Muchas gracias, lo probé con VB2010 y funcionó.

    Saludos.

    ResponderEliminar
  12. Funciona!, muchas gracias por el código, lo estaba necesitando.

    ResponderEliminar
  13. Gracias a tí por seguirnos.
    Saludos cordiales

    ResponderEliminar
  14. funciono muy bien !!!!

    ResponderEliminar
  15. muy buen post, me sirvió mucho sigue asi

    ResponderEliminar
  16. Muchas gracias, después de un rato de buscar, al fin encontré tu solución!

    ResponderEliminar
  17. Que bueno que te haya servidor, gracias por visitar el blog

    ResponderEliminar
  18. Que bueno que te haya servidor, gracias por visitar el blog

    ResponderEliminar
  19. Buen código, ¿es posible volver a habilitar en tiempo de ejecucion con esta propiedad?

    Por ejemplo:
    Private Sub boton1_Click(sender As System.Object, e As System.EventArgs) Handles boton1.Click

    Me.EneabledCerar = True

    End Sub

    Muchas Gracias por tu aporte...

    El_Yor

    ResponderEliminar
  20. Ya lo utilice en visual basic 2012.... y funciono correctamente.... GRACIAS!!!!

    ResponderEliminar
  21. No hay porqué, gracias a ti por visitar el blog y que bueno que te haya servido.

    Saludos cordiales

    ResponderEliminar