Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Formularios
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Formularios 
 
Perdonad si estoy preguntando algo tonto...
Soy una principiante en esto de gambas, y tengo una dudilla...
Tengo en un formulario, un botón, que cuando se haga clic en el, se cambie el texto (o cualquier otra función) de un Label que tengo en otro formulario,  ¿cómo lo podría hacer?

Gracias  
 



 
LalaLalines - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Formularios 
 
Proyecto --> Propiedades --> Opciones --> Los controles del formulario son públicos = "SI"

formulario.miLabel.Text = "hola"
 



EDICIÓN:
Si no quieres que todo sea público hay una propiedad que se llama "public" (me acabo de percatar)

Un abruzo
 



 
última edición por BrunoIV el Lunes, 24 Septiembre 2012, 19:19; editado 1 vez 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Formularios 
 
LalaLalines_

Citar:
Perdonad si estoy preguntando algo tonto...

No hay preguntas tontas... haces bien en preguntar     

Bienvenida al foro...

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Formularios 
 
Hola

En mi opinión, aunque no estemos usando el paradigma POO para programar, no es recomendable hacer públicos los controles de formulario, por el peligro de duplicar nombres de controles y generar problemas tontos a veces difíciles de resolver.

La forma correcta es hacer uso de las Propiedades para cambiar atributos de los controles en otros formularios. Como las propiedades son públicas por defecto, no es necesario nunca más hacer públicos los controles de formularios.

En el formulario donde quieres actuar:

Private $mivariable

Property mipropiedad as String


'El siguiente código lo genera el IDE automáticamente al declarar la propiedad
Private Function mipropiedad_Read() as String

    Return $mivariable

End


Private Sub mipropiedad_Write(value as String)

    value = $mivariable

End
 


En el otro formulario podrás acceder a la propiedad "mipropiedad" como a cualquier variable pública, como atributo del propio formulario, pero sin poner en peligro la  integridad de los controles, es decir, sin romper el principio de encapsulamiento. Por ejemplo:

'para obtener y asignar su valor a una variable
unavariable = Otroformulario.mipropiedad

'para cambiar el valor de la propiedad

Otroformulario.mipropiedad = "un valor string, en este caso"
 


El ejemplo que he puesto usa una variable privada $mivariable para almacenar el valor temporal que puede tomar la propiedad, pero podría haber usado directamente una propiedad de un control real, como el .Text de un TextBox, por ejemplo. O hacerlo dentro de los métodos _Read y _Write sin usar esa variable.

Quien haya programado en VB6 se acordará de los getters y setters, que es básicamente lo mismo que he explicado.

A alguien le puede parecer tedioso o innecesario todo esto, pero realmente es la forma de proceder correcta.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Formularios 
 
espero que hayas empezado leyendo el libro del gambas aun un poco anticuado pero te sirve de mucha ayuda
 



 
david - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Formularios ljma Aplicaciones/Fragmentos de Código 11 Jueves, 24 Febrero 2011, 23:43 Ver último mensaje
ljma
No hay nuevos mensajes Practica Con Formularios Shell General 8 Domingo, 13 May 2012, 08:38 Ver último mensaje
Shell
No hay nuevos mensajes Formularios Muchos Formularios Ideas De D... codificador General 5 Viernes, 07 Junio 2013, 07:22 Ver último mensaje
codificador
No hay nuevos mensajes Diseño De Formularios Shell General 10 Miercoles, 07 Septiembre 2016, 19:26 Ver último mensaje
shordi
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron