Documentation de Gambas - /comp/gb.form/buttonbox/.change

/comp/gb.form/buttonbox/.change

# Event ButtonBox.Change (gb.form)

Event Change ( )

Est levé quand le texte du contrôle change.

Cet évènement est levé pour chaque lettre qui est tapée, et chaque fois que le programme écrit dans la propriété "Text".

### Exemples

    PUBLIC SUB TextBox1_Change()

    IF TextBox1.Text = "grey" THEN PictureBox1.BackColor = &H707070&

    END

Si vous voulez utiliser cet évènement pour modifier le texte dans la même TextBox, le gestionnaire d’évènement sera déclenché à nouveau.

Pour éviter un débordement de pile :

- Verrouillez la TextBox avec Object.Lock() pour l'empêcher de lever des évènements.

### Exemples

    PUBLIC SUB TextBox1_Change()

      IF TextBox1.Text = "gray" OR TextBox1.Text = "grey" THEN
        Object.Lock(TextBox1)
        TextBox1.Text = "grey"
        Object.Unlock(TextBox1)
      ENDIF

    END

- Ou utilisez un sémaphore booléen pour empêcher une seconde entrée quand l’évènement est levé par le gestionnaire d’évènement plutôt que par une entrée manuelle.

    PUBLIC bRefreshing AS Boolean

    PUBLIC SUB TextBox1_Change()

      IF bRefreshing THEN RETURN
      bRefreshing = TRUE
      IF TextBox1.Text = "gray" OR TextBox1.Text = "grey" THEN
        TextBox1.Text = "grey"
      ENDIF
      bRefreshing = FALSE

    END