• Martes 30 de Abril de 2024, 04:11

Autor Tema:  Boton Cerrar Del Formulario  (Leído 14048 veces)

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Boton Cerrar Del Formulario
« en: Viernes 12 de Mayo de 2006, 22:37 »
0
:comp: Estoy trabajando con varios formularios, uno es el principal y otros secundarios, el problema que veo es que el boton cerrar al presionarlo cierra los formularios secundarios y yo necesito que al presionarlo haga otras cosas :huh: , entre ellas que me regrese al formulario principal, como hago para meterle codigo a este boton  :unsure: , he visto en las propiedades del formulario que solo estan el boton minimizar y el maximizar pero no veo donde esta la opcion para manipular el boton cerrar,
¿Habra forma de meterle codigo a este boton? y si no la hay ¿puedo eliminarlo? ¿como? :alien:

Gracias  :hola:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

rocky

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #1 en: Sábado 13 de Mayo de 2006, 13:44 »
0
pos es facil solo tienes que programar el evento hide del formulario,

saludos

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #2 en: Sábado 13 de Mayo de 2006, 16:01 »
0
Cita de: "rocky"
pos es facil solo tienes que programar el evento hide del formulario,

saludos
Evento hide <_<  :blink: ese no lo conozco, puedes usar los eventos Terminate o Unload, para esto, si lo que quieres es que no se cierren los demas formularios (a excepción que sea un MDI), puedes poner en los form secundarios:

Código: Text
  1. Private Sub Form_Unload(nomiquierdo As Integer)
  2. me.Unload
  3. End Sub
  4.  
Ojala te sirva.
Chao
El pasado son solo recuerdos, el futuro son solo sueños

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #3 en: Sábado 13 de Mayo de 2006, 21:46 »
0
Hola tania.  :hola:

Tambien en el evento query_unload del form te puede ayudar.   :P


Por ejemplo. cuando le das cerrar a un form secundario en el evento que quieras de los antes mencionados puedes escribir.
Código: Text
  1.  
  2. FormPrincipal.show
  3.  
  4.  
este codigo muestra otra vez el form principal. Espero te sirva. ;)
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #4 en: Domingo 14 de Mayo de 2006, 05:36 »
0
:)  Gracias por responder, se como ocultar y aparecer de nuevo el formulario solo queria saber como meterle ese codigo al boton cerrar (el que esta junto a minimizar y maximizar)

RadicalEd  con respecto a:

Código: Text
  1. Private Sub Form_Unload(nomiquierdo As Integer)
  2. me.Unload
  3. End Sub
  4.  

Esto es lo que necesitaba   :smartass:  aunque, la sentencia correcta es unload Me, pero esa no es la duda sino
Citar
(nomiquierdo As Integer)
¿que es esto?, lo probe dejando el parentesis vacio pero no funciona solo con alguna variable ahi ¿por que?

:) por cierto "Hide" es una sentencia que oculta el formulario sin borrar los datos, no como "unload" que descarga el formulario y borra todo


Angel38 probe con query_unload pero no me sirvio puse
Código: Text
  1. Private Sub query_unload()
  2. Unload Me
  3. End Sub
  4.  
pero nada ¿o no era asi?

Gracias a todos por su tiempo :comp:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #5 en: Domingo 14 de Mayo de 2006, 22:33 »
0
Pues no te preocupes de todos modos en el evento Unload puedes escribir ese codigo. :P
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #6 en: Domingo 14 de Mayo de 2006, 22:40 »
0
Perdon, perdon no lei bien.

Si te das cuentas estas colocando al evento que se cierre el form y supuestamente Query unload trabaja en el momento que el form se cierra es decir que ese codigo que colocaste está de más.

Te recuerdo que el codigo que coloque fue este.


Formprincipal.show

Intentanlo asi en el form secundario y veras que el form principal se abrira cuando cierres uno secundario  ;)


La pregunta es, quieres que la informacion del primer form se mantenga?

Si es asi entoces cuando abras los otros formularios puedes escribir

frmsecundario.show         'ó el form que vayas a abrir
frmprincipal.hide
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

rocky

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #7 en: Domingo 14 de Mayo de 2006, 23:04 »
0
perdon por lo del hide, es el unload, es que me equivoque sorry se me fue la cabeza

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #8 en: Lunes 15 de Mayo de 2006, 01:37 »
0
Citar
Te recuerdo que el codigo que coloque fue este.


Formprincipal.show

Intentanlo asi en el form secundario y veras que el form principal se abrira cuando cierres uno secundario 

 ^_^ Angel38 no me has entendido, esto ya lo sé, lo que yo queria era meterle esto al boton cerrar (el que esta arriba, a la par de minimizar y maximizar)

 :) rocky, Hide esta bien, si uno quiere ocultar el formulario, la aclaracion se la ponia a RadicalEd porque decia que no la conocia pero de hecho yo la estoy utilizando al ocultar el formulario porque necesito tener esos datos.  :comp:


 :hola:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #9 en: Lunes 15 de Mayo de 2006, 08:18 »
0
Cita de: "Tania_D"

 :) rocky, Hide esta bien, si uno quiere ocultar el formulario, la aclaracion se la ponia a RadicalEd porque decia que no la conocia pero de hecho yo la estoy utilizando al ocultar el formulario porque necesito tener esos datos.  :comp:


 :hola:
Lo que Radicaled queria decir que HIDE no es un evento, el HIDE es un metodo

Cita de: "Tania_D"
¿Habra forma de meterle codigo a este boton? y si no la hay ¿puedo eliminarlo? ¿como?
Para hacer lo primero ya te lo pexplicaron y si todavia lo necesitas para eliminar la X, eso esta en la propiedad BorderStyle, prueba modificandola no me acuerdo cual es el valor de la propiedad, tambien lo puedes deshabilitar colocando en False la propiedad ControlMenu.

 :comp:
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #10 en: Lunes 15 de Mayo de 2006, 19:12 »
0
Citar
tambien lo puedes deshabilitar colocando en False la propiedad ControlMenu.

Creo que es Control Box  :P

Lo que quieres hacer es algo asi como darle doble click a la X y poder codificarla.

Pero no lo puedes hacer Tania_D eso tienes que controlarlo por medio de los eventos que te hemos dicho.  :comp:
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #11 en: Martes 16 de Mayo de 2006, 00:39 »
0
Citar
Lo que quieres hacer es algo asi como darle doble click a la X y poder codificarla.

Pero no lo puedes hacer Tania_D eso tienes que controlarlo por medio de los eventos que te hemos dicho. 

 :rolleyes:   si ya habia dicho que ya lo tengo, es como me dijo RadicalEd, gracias  :comp:


asunto resuelto  :kicking:
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Soultaker

  • Miembro HIPER activo
  • ****
  • Mensajes: 972
  • Nacionalidad: pe
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #12 en: Martes 16 de Mayo de 2006, 05:07 »
0
Cita de: "Angel38"
Creo que es Control Box  :P
Si tienes razon, creo que ControlMenu es en VB .NET lo que pasa es que no tengo instalado ninguno de los 2 Visual Basic por eso coloque lo que me acordaba  :D

 :comp:
http]
foros,programacion, c, c++, java,
linux, videojuegos, directX, .NET,
visual basic,robotica,microprocesadores

Para los nuevos usuarios de este Foro, por favor leerse esta discusión.
Cómo Hacer Preguntas De Forma Inteligente

Ojos que no ven... pisan caquita
Camarón que se duerme... muere electrocutado


<<< Harol Moreyra Bendezú >>>

Phalen

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #13 en: Miércoles 12 de Noviembre de 2008, 20:58 »
0
Mira yo tenia problemas similares al vuestro, que lo quería hacer era eliminar el botón, pero no pude hacerlo, así que opte por inhabilitarlo, también podrás meter código si quieres que se ejecute otra cosa, previamente debes declarar la variable cancel como booleana:

dim cancel as boolean=false

Esta otra parte es para el evento closing de tu formulario

Private Sub frmEjemplo_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
if cancel=true then
me.close
else      
e.Cancel = Not cerrar
//Aqui puedes ejecutar el codigo que quieras
end if
End Sub

La opción ControlBox te funciona solo tambien te oculta los botones de maximizar y minimizar, pero no los eventos de estos.


Y si es para cerrar el formulario simplemente donde te toque cerrarlo, pones cancel como true, Espero que te pueda servir esto.
Ojo hay forma de eliminar el boton solo que para que te funcione en Windows Vista, debes generar el proyecto en Windows XP, que ese era mi problema mayor ya que el proyecto en el que trabajo es obligado que trabaje en Windows Vista y no puedo ocultar el Boton X en el mismo.

Saludos

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #14 en: Jueves 13 de Noviembre de 2008, 00:33 »
0
  • el primer mensaje es viejo
  • incluso esta resuelto ya
  • seria bueno que para publicar codigo usaras la etiqueta CODE
  • ese codigo es de .NET y este es el foro de VB6 para principiantes


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

Phalen

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Boton Cerrar Del Formulario
« Respuesta #15 en: Jueves 13 de Noviembre de 2008, 03:43 »
0
Cita de: "F_Tanori"
  • el primer mensaje es viejo
  • incluso esta resuelto ya
  • seria bueno que para publicar codigo usaras la etiqueta CODE
  • ese codigo es de .NET y este es el foro de VB6 para principiantes


Saludos


Lo siento no me habia percatado de ello ya que vi el problema y respondi rapido, XD.

Cualquier cosa borradlo si quereis, solo queria ayudar, pero no me habia percatado de este tema.

difs

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
espero te sirva
« Respuesta #16 en: Miércoles 26 de Noviembre de 2008, 21:10 »
0
Bueno en los formularios debe habr un formulario principal como formulario padre(MDI)

existe una propiedad en los formularios la cual es MDIChild si no me equivoco la cual permite que cuando presiones el botón cerrar, sólo cierre ese formulario y no el principal ya que la propiedad le indica al formulario que es hijo del formulario principal(MDI).

El código para que cierres el principal es:
if (msgbox = "Deseas Salir...?", vbquestion + vbyesno, "Finalizar") = vbyes then End    

Para el botón cerrar de los forms secundarios es:
Unload me

Espero que te ayude.


---=[ Difs ]=---

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #17 en: Jueves 27 de Noviembre de 2008, 12:10 »
0
:argh:  :argh:

¡Que alguien cierre este hilo!  -_-  -_-

Jimbenit

  • Miembro MUY activo
  • ***
  • Mensajes: 269
  • Nacionalidad: co
    • Ver Perfil
    • http://ingenieriacivil.foroactivo.com
Re: Boton Cerrar Del Formulario
« Respuesta #18 en: Viernes 28 de Noviembre de 2008, 01:29 »
0
Por Diosss... ¿Como no ayudar a mi princesa Toph?

Lo que quieres hacer es eliminar el boton cerrar, desabilitarlo?, aqui tienes

Código: Text
  1. Option Explicit
  2.  
  3.  
  4. 'Declaraciones del api
  5. '------------------------------------------------------
  6.  
  7. ' PAra deshabilitar el menú y otros
  8. Private Declare Function DeleteMenu Lib "user32" ( _
  9.     ByVal hMenu As Long, _
  10.     ByVal nPosition As Long, _
  11.     ByVal wFlags As Long) As Long
  12.  
  13. ' Obtiene el Handle al menú del sistema de la ventana
  14. Private Declare Function GetSystemMenu Lib "user32" ( _
  15.     ByVal hwnd As Long, _
  16.     ByVal bRevert As Long) As Long
  17.  
  18.  
  19. Private Const MF_BYPOSITION = &H400&
  20.  
  21.  
  22. Private Sub Aplicar_Cambios(ByVal El_Formulario As Form, _
  23.                             ByVal Menu_Cerrar As Boolean, _
  24.                             ByVal Redimensionar As Boolean, _
  25.                             ByVal Mover As Boolean)
  26.  
  27. Dim Hwnd_Menu As Long
  28.    
  29.     ' Obtiene el Hwnd del menú para usar con el Api DeleteMenu
  30.     Hwnd_Menu = GetSystemMenu(El_Formulario.hwnd, False)
  31.    
  32.     ' botón Cerrar
  33.     If Menu_Cerrar Then
  34.        Call DeleteMenu(Hwnd_Menu, 6, MF_BYPOSITION)
  35.     End If
  36.    
  37.     'Hace que la ventana no se pueda cambiar de tamaño
  38.     If Redimensionar Then
  39.        Call DeleteMenu(Hwnd_Menu, 2, MF_BYPOSITION)
  40.     End If
  41.    
  42.     ' No permite que la ventana se pueda mover
  43.     If Mover Then
  44.        Call DeleteMenu(Hwnd_Menu, 1, MF_BYPOSITION)
  45.     End If
  46. End Sub
  47.  
  48.  
  49. Private Sub Form_DblClick()
  50.     Unload Me
  51. End Sub
  52.  
  53. Private Sub Form_Load()
  54.    
  55.     MsgBox " Para cerrar el formulario haz DOBLE Click en el mismo ", vbInformation
  56.        
  57.     ' Deshabilita el Command de cerrar, y no permite que se redimensione _
  58.      y mueva el formulario
  59.     Call Aplicar_Cambios(Me, True, True, True)
  60.  
  61. End Sub
  62.  
  63.  
  64.  
  65.  

2) Introducir codigo al boton cerrar?
No puedes, en lugar de eso, (como te han dicho antes) utiliza el evento Unload o Terminate
Aclaración: primero se desencadena el evento unload y luego el terminate, mira los comentarios en el msdn
Saludos y ... TE QUIERO MUCHOOOOO

Nota:
Te quiero mucho Toph

Nota 2:
Muy contento de que mi Post numero 100 sea para mi princesa ^_^


Yo quiero mucho a Toph ---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #19 en: Viernes 28 de Noviembre de 2008, 08:53 »
0
Jimbenit, ¿qué tal si miras la edad del hilo?  :bad:  :bad:

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Boton Cerrar Del Formulario
« Respuesta #20 en: Viernes 28 de Noviembre de 2008, 20:18 »
0
:lol:  :lol:  :lol: Este hilo es de mayo del 2006 y como dije por ese entonces

Cita de: "Toph"
:rolleyes:   si ya habia dicho que ya lo tengo, es como me dijo RadicalEd, gracias  :comp:


asunto resuelto  :kicking:

No se como dejar mas claro que YA ESTA SOLUCIONADO  :rolleyes:

y gracias a las personas que postearon sus codigos ya hay mas de una solucion para algun usuario que le surja la misma duda en el futuro y de una busqueda tendra varias alternativas asi que por favor ya no respondan mas, si alguien tiene una duda sobre algun codigo aqui por favor abra otra Discusion.

Gracias
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Jimbenit

  • Miembro MUY activo
  • ***
  • Mensajes: 269
  • Nacionalidad: co
    • Ver Perfil
    • http://ingenieriacivil.foroactivo.com
Re: Boton Cerrar Del Formulario
« Respuesta #21 en: Viernes 28 de Noviembre de 2008, 20:31 »
0
Cita de: "m0skit0"
Jimbenit, ¿qué tal si miras la edad del hilo?  :bad:  :bad:
Cita de: "Toph"
:lol:  :lol:  :lol: Este hilo es de mayo del 2006

No me habia dado cuenta de la edad del Post... :P
Sorry... sorry....

Lo que pasa es que cuando vi el nombre de Toph que estaba preguntando, me volví como loco por responder (ademas estaba cansado y mi vista la tenia muy pesada, ya estaba cerrando todo mi trabajo del día cuando respondí ese post [eran como las 6 y media de la tarde])... Lo siento
 :lol:  :lol:  :lol:  :lol:  :hola:


Yo quiero mucho a Toph ---> Mi Web]http://ingenieriacivil.foroactivo.com[/url]