Utilizzare l'evento Change() in un ValueBox

Da Gambas-it.org - Wikipedia.

Come è noto, non è possibile sollevare l'evento _Change() con l'oggetto ValueBox.

Questo limite, però, volendo, può essere superato con uno stratagemma. Infatti, poiché l'oggetto ValueBox è composto anche da un TextBox, questo assume la proprietà di figlio (.Children) del predetto oggetto ValueBox. Il TextBox, in quanto figlio del predetto oggetto ValueBox, conserva sostanzialmente le sue capacità e proprietà, anche quelle disattivate o comunque modificate per il ValueBox. Tali risorse, come ad esempio quella dell'evento _Change(), possono essere riattivate ed utilizzate via codice dall'oggetto ValueBox.

La riattivazione e l'impostazione di tale evento _Change() può essere riattivato con il metodo Object.Attach() .


Mostriamo un semplice esempio pratico:

Public Sub Form_Open()

' Verifichiamo l'oggetto figlio del "ValueBox":
  Print ValueBox1.Children[0]

  Object.Attach(ValueBox1.Children[0], Me, "evento")

End


Public Sub evento_Change()

  Print "Sollevato l'evento _Change() ! "

End