WithEvents

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 27 juil. 2006 à 16:09
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 27 juil. 2006 à 17:47
Bonjour,
J'ai un form ou je crée des textBox en dynamique.
Comment gérer des événement sur c'est textbox ?

Par exemple comment savoir qu'un textbox recoit le focus ou que son texte a changé ?

Voici comment je créer mes composants :
Private

tabTextBox()
As System.Windows.Forms.TextBox
tabTextBox(iCount) =

New System.Windows.Forms.TextBox
tabTextBox(iCount).Location =
New System.Drawing.Point(104, 16 + (iCount * 25))
tabTextBox(iCount).Size =
New System.Drawing.Size(112, 20)

Me.PanelConfig.Controls.Add(tabTextBox(iCount))

Merci par avance

Shell

1 réponse

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 juil. 2006 à 17:47
Salut,

une fois que tu as créé  ton controle, il faut que tu l'abonne à un gestionnaire d'évènement.

Il faut donc que tu crée une procédure de gestion de l'évènement qui sera de la forme (si tu ne l'as pas déjà) :
Private Sub GereFocusTxtBox(ByVal sender As Object, ByVal e As System.EventArgs)
.....
end sub

Ensuite lors de la création du controle, tu l'abonne à ta procédure de gestion de l'évènement.
Pour le focus d'une textbox ça donne :
AddHandler TonNouveauControle.GotFocus, AddressOf   GereFocusTxtBox
Pour le texte qui change ça sera :
AddHandler TonNouveauControle.TextChanged, AddressOf   GereTextChangedTxtBox

A la place de GereFocusTxtBox, tu peux très bien mettre la fonction de gestion de l'évènement GotFocus d'un textbox que tu as déjà sur ta feuille.

Sevyc64  (alias Casy)<hr align="center" size="2" width="100%" /><stron></stron># LE PARTAGE EST NOTRE FORCE #
0
Rejoignez-nous