jytest
Messages postés314Date d'inscriptiondimanche 27 novembre 2005StatutMembreDernière intervention22 décembre 2014
-
20 avril 2008 à 10:37
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
20 avril 2008 à 12:38
Bonnour à tous.
J'ai un (petit?) problème.
J'ai un TextBox à 10 éléments (de 1 à 10), appelé "txtNom(index)"
J'ai aussi une ListBox, appelée "lstFamille"
Petite précision qui a pourtant son importance :
lors de chaque défilement de la lstFamille,
toutes les valeurs des txtNoms(1 à 10)
à l'intérieur de la "frmUtilPoste" changent !
Lorsque je clique sur ma ListBox,
l'événement "txtNom_LostFocus (index)" ne se génère pas...
c'est "lstFamille_Scroll()",
qui prend d'abord l'exécution, ne permettant pas de passer
par "txtNom_LostFocus (index)".
Je n'arrive pas à forcer cela...
Car si je provoque "txtNom_LostFocus(xxx)",
c'est le scroll de la lstFamille qui n'est pas généré"
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 20 avril 2008 à 12:01
Bonjour, CPT.
Ben oui (mal réveillé, moi, ce matin...)
Précision pour jytest :
Dans les deux cas de figure, fais attention !
Car l'évènement Scroll se déclenche également si tu modifies la propriété TopIndex de la listbox ===>> déclenchement subséquent de l'évènement LostFocus de la TextBox (bien évidemment)
Si tu modifies donc quelque part la propriété TopIndex mais ne veux pas que, dans un tel cas, l'évènement LostFocus de la textbox se déclenche, il va te falloir utiliser une variable booléenne générale, pour agir selon son état.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 20 avril 2008 à 11:42
Bonjour,
C'est tout-à fait normal, puisque le scroll (au contraire du Click) de la listbox ne donne pas pour autant le focus à la listbox et que, donc, textbox ne perd pas ainsi son focus (en scrollant la listbox) ! ...
Si tu y tiens tant, tu peux faire ainsi :
Exemple :
Private Sub Form_Load()
For i = 1 To 40
List1.AddItem i
Next
End Sub
Private Sub List1_Scroll()
Text1_LostFocus (List1.Tag)
End Sub
Private Sub Text1_GotFocus(Index As Integer)
List1.Tag = Index
End Sub
Private Sub Text1_LostFocus(Index As Integer)
MsgBox "oui"
End Sub
Il va de soi que tu peux utiliser une variable générale à la place de la pripriété tag, si cette dernière t'est par ailleurs nécessaire, hein ...
Vous n’avez pas trouvé la réponse que vous recherchez ?