![]() |
Ocultar botones distintos form
Bueno voy a ser lo mas claro posible para plantear mi problema, estoy trabajando en una aplicación con varios form para no entrar en detalles y explicar exactamente de que se trata lo voy a plantearcon un ejemplo mas practico y conocido.
Mas o menos seria lo siguiente, en una form tengo un listado de pongamosle productos (con TDBgrid), y en la otra lo que necesito seleccionar es el producto para lo cual he usado un botón el cual selecciona el producto en la form donde se encuentra el listado, ahora bien quiero que ese botón solo se muestre únicamente cuando accedo mediante el form 2 (donde llamo al form 1 cuando deseo seleccionar un item) y no cuando solo quiero visualizar los productos dado que el botón no seria útil Desde ya muchas gracias |
Hola,
Puedes colocar un parámetro que indique si debe desplegar o no el botón en cuestión y así cuando lo llames desde el formulario indicado lo activas y desde otro no lo activas. Nota: Pase como 5 minutos tratando de entender lo que escribiste porque además de no estar claro, la redacción no ayuda y escribir en un solo párrafo empeora las cosa... no se quien es el del foro que dice que esto no es un móvil. Así que tranquilo escribe cuanto quieras. |
puedes poner esto
si estamos en el form2 form3.tag := 2; form3.showmodal; en el fom3 if tag = 2 then boton.visible := false; y antes de llamarlo de otros formulario form3.tag := 0; |
Recuerda poner los tags al código fuente, ejemplo:
![]() Gracias :) |
ok
Gracias Casimiro por la observación, no se editar el mensaje para cambiarlo, la proxima vez. |
Personalmente no me gusta mucho la solución con el tag. Prefiero agregar una propiedad "MostrarBotonX" ya que es mas especifica en su uso que "form.tag".
La razón por la que prefiero la propiedad es que al final podríamos tener que en una parte del código usamos el tag para x y en otra parte el tag para y cuando pudimos haber especificado ese funcionamiento desde la clase. Pero como cada quien mata las pulgas a su modo... |
Hola.
Otra opción: Form2: (El que contiene el TButton a ocultar)
Form1:
Saludos :) |
Cita:
En la primera parte del código que es donde contiene el botón en que momento estoy haciendo que el botón pase a no mostrarse :confused: porque al usar el código el botón sigue mostrándose cuando abro la form que contiene el botón |
1 Archivos Adjunto(s)
Hola.
Te adjunto un ejemplo para que puedas revisarlo con tranquilidad. Saludos :) |
Cita:
aqui dejo el boton que llama al form 1 (listadoitems) desde ese botón abro el formulario donde tengo la lista, donde este el botón seleccionar para seleccionar desde el dbgrid y que este botón traspase la categoría en este caso el botón seleccionar Como verán el botón me pasa esos datos a la form2 donde los empleo de otra forma por lo cual no sirve de nada cuando la form dos no esta activa esperando esos datos A mi se me ocurrio lo siguiente
Pero al copilar me tira error en el form1 no se si esta bien planteado |
Cita:
Puse TCheckBox en el ejemplo a fin de que pudieras verificar de forma simple el funcionamiento del código, en la práctica pasarías como argumento el valor False cuando no desees que se visualize. Saludos. :) |
1 Archivos Adjunto(s)
Cita:
Si acceso al form 2 directamente (he aquí la razón de todos mis males) el boton tambien se ve :( Te adjunto lo que me mandaste pero con un menu para acceder a los form NOTA: No se como pasarte el ejemplo, exedo por 20kb el limite de adjuntos y no me deja ponerte enlaces externos |
Hola.
Recibí bién tu ejemplo por pm. Fijate que incluí el método de clase ShowForm para que la creación se haga dentro del mismo código del form. No tenes que llamar a Form2 así:
Tenes que llamarlo de igual modo que lo hace Form1:
Saludos. :) |
Excelente muchísimas gracias ahora creo que comprendo un poco mas el código que me pasaste, y como asignar el estado me puede servir para varias cosas que tengo pensado hacer pero honestamente no encontraba la forma.
Muchísimas gracias a todos los que cedieron su tiempo en ayudar |
La franja horaria es GMT +2. Ahora son las 09:30:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi