Páginas

sábado, 22 de mayo de 2021

Gambas3: recorrer los controles de un formulario

 

Gambas3: recorrer los controles de un formulario

En este ejemplo, proporcionado por vuott, vemos como poder recorrer los controles de un formulario y cuando es el control es del tipo Label, pone su fondo de color amarillo.

  1.   
  2. For Each ob In Me.Controls
  3.   If Object.Type(ob) = "Label" Then ob.Background = Color.Yellow


Fuente:

https://gambas-es.org/showthread.php?tid=417


Nota:

Otra mejora del metodo anterior explicada por Tincho

https://gambas-es.org/showthread.php?tid=418

Si por ejemplo tenemos un panel con dos controles dentro para cada campo y queremos que al cambiar el valor de texto del TextBox se ponga en rojo la TextLabel que se encuentra en el mismo panel, no es necesario recorrero todos los controles del formulario sino que solo los del panel "Parent".

  1. Public Sub elGrupo_Change()
  2.  
  3.   Dim ob As Object
  4.  
  5.   For Each ob In Last.Parent.Children
  6.     If Object.Type(ob) = "Label" Then
  7.       ob.Foreground = Color.Red
  8.     Endif
  9.   Next
  10.