Differenze tra le versioni di "Differenza fra la proprietà ".Children" e la proprietà ".Controls" di un oggetto"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La guida ci dice che la proprietà .Children eventualmente posseduta da un oggetto, si riferisce a tutti gli oggetti inclusi nel contenitore che possiede tale proprietà men...')
 
Riga 8: Riga 8:
  
  
La differenza sta nel fatto che la proprietà ''.Children'' restituirà un vettore degli oggetti contenuti nel <SPAN style="text-decoration:underline">solo</span> contenitore, della quale stiamo utilizzando quella proprietà.
+
La differenza sta nel fatto che la proprietà ''.Children'' restituirà un vettore degli oggetti contenuti nel <SPAN style="text-decoration:underline">solo</span> contenitore, del quale stiamo utilizzando quella proprietà.
  
 
Invece la proprietà ''.Controls'' restituirà un vettore degli oggetti contenuti comunque all'interno della finestra. Così, se nella finestra sono stati posti degli oggetti e fra essi anche dei contenitori che contengono oggetti, che siano magari anche altri contenitori a loro volta contenenti oggetti, insomma il tutto in una gerarchia parentale discendente; ebbene, la proprietà ''.Controls'' prenderà in considerazione tutti gli oggetti comunque presenti nella finestra, anche se sono contenuti in Contenitori; purché tali Contenitori appartengano in rapporto gerarchico alla finestra in questione.
 
Invece la proprietà ''.Controls'' restituirà un vettore degli oggetti contenuti comunque all'interno della finestra. Così, se nella finestra sono stati posti degli oggetti e fra essi anche dei contenitori che contengono oggetti, che siano magari anche altri contenitori a loro volta contenenti oggetti, insomma il tutto in una gerarchia parentale discendente; ebbene, la proprietà ''.Controls'' prenderà in considerazione tutti gli oggetti comunque presenti nella finestra, anche se sono contenuti in Contenitori; purché tali Contenitori appartengano in rapporto gerarchico alla finestra in questione.

Versione delle 13:35, 15 lug 2014

La guida ci dice che la proprietà

.Children

eventualmente posseduta da un oggetto, si riferisce a tutti gli oggetti inclusi nel contenitore che possiede tale proprietà

mentre la proprietà

.Controls

si riferisce a tutti gli oggetti comunque appartenenti alla finestra che possiede tale proprietà.


La differenza sta nel fatto che la proprietà .Children restituirà un vettore degli oggetti contenuti nel solo contenitore, del quale stiamo utilizzando quella proprietà.

Invece la proprietà .Controls restituirà un vettore degli oggetti contenuti comunque all'interno della finestra. Così, se nella finestra sono stati posti degli oggetti e fra essi anche dei contenitori che contengono oggetti, che siano magari anche altri contenitori a loro volta contenenti oggetti, insomma il tutto in una gerarchia parentale discendente; ebbene, la proprietà .Controls prenderà in considerazione tutti gli oggetti comunque presenti nella finestra, anche se sono contenuti in Contenitori; purché tali Contenitori appartengano in rapporto gerarchico alla finestra in questione.


Facciamo un esempio esplicativo, nel quale poniamo su un Form un Button ed una Label. Poniamo anche un Contenitore Frame all'interno del quale saranno posti una TextArea, un Dial ed un Contenitore Panel. Nel Panel porremo una TextLabel ed una Label.
Il codice Gambas sarà poi il seguente:

Public Sub Form_Open()

 Dim ob As Object
 
 
  Print "Oggetti visti dalla proprietà '.Children':"
  For Each ob In FMain.Children
    Print ob.Name
  Next

  Print "---------------------"

  Print "Oggetti visti dalla proprietà '.Controls':"
  For Each ob In FMain.Controls
    Print ob.Name
  Next

End

Il risultato finale in console sarà il seguente:
Oggetti visti dalla proprietà '.Children':
Label1
Button1
Frame1
---------------------
Oggetti visti dalla proprietà '.Controls':
Label1
Button1
Frame1
TextArea1
Dial1
Panel1
TextLabel1
Label2