LostFocus sur textbox et Scroll sur listBox !!!

Résolu
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014 - 20 avril 2008 à 10:37
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Derniè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é"

Qui va pouvoir m'aider?

yd

6 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
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.


 


 
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
20 avril 2008 à 12:38
tu dois avoir un autre bout de code quelque part, j'ai testé le code avant de poster et çà fonctionne bien...

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
20 avril 2008 à 10:56
J'ai même essayé "txtNom_Validate (index)"
Mais cela ne fonctionne pas non plus!

Que faire, svp !

Merci d'avance pour votre aide.

jyd
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
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 ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
20 avril 2008 à 11:50
salut à tous,

plus simplement ajouter lstFamille.SetFocus en début de ta procédure lstFamille_Scoll devrait suffir

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
jytest Messages postés 315 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2014
20 avril 2008 à 12:06
C'est bien ce que je me disais...
Il faut programmer cet événement... exceptionnel...

Merci à tous.
Par contre lstFamille.SetFocus ne résoud pas le souci.

jyd
0
Rejoignez-nous