Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Deshabilitar X de cerrar

Estas en el tema de Deshabilitar X de cerrar en el foro de Visual Basic clásico en Foros del Web. Buenas, hay alguna manera de deshabilitar via codigo la X de la parte superior derecha de una ventana, para que esta no se pueda cerrar ...
  #1 (permalink)  
Antiguo 21/07/2009, 08:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Deshabilitar X de cerrar

Buenas, hay alguna manera de deshabilitar via codigo la X de la parte superior derecha de una ventana, para que esta no se pueda cerrar hasta realizar determinada accion? gracias de antemano.
  #2 (permalink)  
Antiguo 21/07/2009, 08:21
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Deshabilitar X de cerrar

en las propiedades del Form esta controlbox que es para mostrarlo o no.
  #3 (permalink)  
Antiguo 21/07/2009, 08:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Deshabilitar X de cerrar

En el codigo al presionar un commandbutton pongo lo siguiente:

Código:
Me.ControlBox = False
Y me da el siguiente error:

  #4 (permalink)  
Antiguo 21/07/2009, 08:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Deshabilitar X de cerrar

Revisa esto:
http://www.forosdelweb.com/1197692-post82.html
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 21/07/2009, 08:43
 
Fecha de Ingreso: junio-2008
Ubicación: Punta Alta, Argentina
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Deshabilitar X de cerrar

Lo tenes que hacer mediante codigo? porque si lo haces por medio de las propiedades en modo de diseño, al ejecutar funciona
  #6 (permalink)  
Antiguo 21/07/2009, 08:49
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Deshabilitar X de cerrar

Si tiene que ser mediante codigo, y gracias David por el aporte pero yo busco algo un poco mas simple, quizas declarando que no se descargue el formulario en el acontecimiento "unload" del mismo, pero nose como hacerlo.
  #7 (permalink)  
Antiguo 21/07/2009, 08:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Mensaje Respuesta: Deshabilitar X de cerrar

Saludos, el error que te sale es debido a que esa propiedad es de solo lectura cuando esta en ejecución.

Debes cambiar la propiedad en diseño.

La propiedad control box, simplemente te desabilitara los botones de minimizar, maximizar y cerrar; pero si solo quieres deshabilitar la X puedes probar el siguiente codigo:

http://www.freevbcode.com/ShowCode.asp?ID=342

Espero que te sea de utilidad
  #8 (permalink)  
Antiguo 21/07/2009, 08:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Deshabilitar X de cerrar

Para que no se cierre en el evento Unload sólo tienes que asignar la variable Cancel:
Código vb:
Ver original
  1. Private Sub Form_Unload(Cancel As Integer)
  2. Cancel = True
  3. End Sub
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 21/07/2009, 08:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 355
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Deshabilitar X de cerrar

Muchas gracias pero como dije arriba estaria bueno algo mas simple que no sea solo copiar y pegar sino que yo sepa lo que estoy haciendo.

Edit: buenisimo ahora pruebo lo tuyo David
  #10 (permalink)  
Antiguo 22/07/2009, 11:42
Avatar de A.H.H  
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años
Puntos: 4
Respuesta: Deshabilitar X de cerrar

Hola si no quieres usar la x del form siempre tambien puedes usar el viejo truco de quitar el marco al form y dibujar tu la x roja y en el evento click del label poner el codigo.
ejemplo:

Cita:
Private Sub Form_Load()
'Poner la propiedad borderstyle del form en 0-NONE y'
'colocar un label en la esquina'
'con codigo dibujamos la x roja'
Label1.ForeColor = vbRed
Label1.FontSize = 16
Label1.AutoSize = True
Label1.Caption = "X"
End Sub

Private Sub Label1_Click()
'aqui pones el codigo de lo que quieras que haga la x al pulsarla'
MsgBox "aqui lo que quieras que haga la x al pulsarla"
Unload Me
End Sub
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 07:54.