Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Textbox ne perdant plus le focus

7 réponses
Avatar
Prosperz
Bonjour,

J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces Textbox
j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).

Si je mets à jour 1 champ, je ne peux plus perdre le focus !

Si je change la valeur de la propriété CausesValidation de la Textbox, je
peux changer le focus, mais ke Databinding ne se fait plus.

Vous avez des idées ?

Merci d'avance.
Prosperz

7 réponses

Avatar
Prosperz
Ah oui, autre précision, j'ai constaté que l'évènement Validated n'était pas
déclenché alors que Validating oui...

"Prosperz" a écrit :

Bonjour,

J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces Textbox
j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).

Si je mets à jour 1 champ, je ne peux plus perdre le focus !

Si je change la valeur de la propriété CausesValidation de la Textbox, je
peux changer le focus, mais ke Databinding ne se fait plus.

Vous avez des idées ?

Merci d'avance.
Prosperz


Avatar
Paul Bacelar
Votre fonction validating ne renvoye-t-elle pas toujours false ?
--
Paul Bacelar
MVP VC++

"Prosperz" wrote in message
news:
Ah oui, autre précision, j'ai constaté que l'évènement Validated n'était
pas
déclenché alors que Validating oui...

"Prosperz" a écrit :

Bonjour,

J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces
Textbox
j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).

Si je mets à jour 1 champ, je ne peux plus perdre le focus !

Si je change la valeur de la propriété CausesValidation de la Textbox, je
peux changer le focus, mais ke Databinding ne se fait plus.

Vous avez des idées ?

Merci d'avance.
Prosperz




Avatar
Prosperz
J'ai vérifié et non, elle ne renvoit pas toujours false... D'ailleurs, je
n'ai pas codé le déclechement de l'évènement Validating (ni validated
d'ailleurs). J'ai juste vérifié en debuggant qu'il passait bien par ses
fonctions...

"Paul Bacelar" a écrit :

Votre fonction validating ne renvoye-t-elle pas toujours false ?
--
Paul Bacelar
MVP VC++

"Prosperz" wrote in message
news:
> Ah oui, autre précision, j'ai constaté que l'évènement Validated n'était
> pas
> déclenché alors que Validating oui...
>
> "Prosperz" a écrit :
>
>> Bonjour,
>>
>> J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces
>> Textbox
>> j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).
>>
>> Si je mets à jour 1 champ, je ne peux plus perdre le focus !
>>
>> Si je change la valeur de la propriété CausesValidation de la Textbox, je
>> peux changer le focus, mais ke Databinding ne se fait plus.
>>
>> Vous avez des idées ?
>>
>> Merci d'avance.
>> Prosperz





Avatar
Paul Bacelar
Soit un mécanisme de validation interdit la validation donc le changement de
focus.
Soit un delegate sur modification du contenu remet le focus sur la Textbox.
Soit je ne sais pas.

Vérifiez avec un point d'arrêt sur la méthode Focus d'une classe dérivé de
Textbox pour savoir qui appel de manière intempestive cette méthode sur vos
textbox.
--
Paul Bacelar
MVP VC++

"Prosperz" wrote in message
news:
J'ai vérifié et non, elle ne renvoit pas toujours false... D'ailleurs, je
n'ai pas codé le déclechement de l'évènement Validating (ni validated
d'ailleurs). J'ai juste vérifié en debuggant qu'il passait bien par ses
fonctions...

"Paul Bacelar" a écrit :

Votre fonction validating ne renvoye-t-elle pas toujours false ?
--
Paul Bacelar
MVP VC++

"Prosperz" wrote in message
news:
> Ah oui, autre précision, j'ai constaté que l'évènement Validated
> n'était
> pas
> déclenché alors que Validating oui...
>
> "Prosperz" a écrit :
>
>> Bonjour,
>>
>> J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces
>> Textbox
>> j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).
>>
>> Si je mets à jour 1 champ, je ne peux plus perdre le focus !
>>
>> Si je change la valeur de la propriété CausesValidation de la Textbox,
>> je
>> peux changer le focus, mais ke Databinding ne se fait plus.
>>
>> Vous avez des idées ?
>>
>> Merci d'avance.
>> Prosperz







Avatar
Prosperz
J'ai placé un point d'arrêt sur la méthode GotFocus du contrôle, mais rien de
concluant. Quand j'essaie de sortir du champ cette évènement n'est pas
appelé... Pourtant je sais que le champ perd le focus et le récupère, puisque
lorsque je fais du pas à pas, en traçant la Property Focused du controle et
celui du suivant elles sont mises à jour correctement...

Je suis vraiment perdu...

"Paul Bacelar" a écrit :

Soit un mécanisme de validation interdit la validation donc le changement de
focus.
Soit un delegate sur modification du contenu remet le focus sur la Textbox.
Soit je ne sais pas.

Vérifiez avec un point d'arrêt sur la méthode Focus d'une classe dérivé de
Textbox pour savoir qui appel de manière intempestive cette méthode sur vos
textbox.
--
Paul Bacelar
MVP VC++

"Prosperz" wrote in message
news:
> J'ai vérifié et non, elle ne renvoit pas toujours false... D'ailleurs, je
> n'ai pas codé le déclechement de l'évènement Validating (ni validated
> d'ailleurs). J'ai juste vérifié en debuggant qu'il passait bien par ses
> fonctions...
>
> "Paul Bacelar" a écrit :
>
>> Votre fonction validating ne renvoye-t-elle pas toujours false ?
>> --
>> Paul Bacelar
>> MVP VC++
>>
>> "Prosperz" wrote in message
>> news:
>> > Ah oui, autre précision, j'ai constaté que l'évènement Validated
>> > n'était
>> > pas
>> > déclenché alors que Validating oui...
>> >
>> > "Prosperz" a écrit :
>> >
>> >> Bonjour,
>> >>
>> >> J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces
>> >> Textbox
>> >> j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).
>> >>
>> >> Si je mets à jour 1 champ, je ne peux plus perdre le focus !
>> >>
>> >> Si je change la valeur de la propriété CausesValidation de la Textbox,
>> >> je
>> >> peux changer le focus, mais ke Databinding ne se fait plus.
>> >>
>> >> Vous avez des idées ?
>> >>
>> >> Merci d'avance.
>> >> Prosperz
>>
>>
>>





Avatar
Prosperz
J'ai également tracé la méthode Enter. Là je vois que cette méthode est
appelé (j'affiche le sender.ToString()), mais il me dit que c'est par le
control lui même...

"Prosperz" a écrit :

J'ai placé un point d'arrêt sur la méthode GotFocus du contrôle, mais rien de
concluant. Quand j'essaie de sortir du champ cette évènement n'est pas
appelé... Pourtant je sais que le champ perd le focus et le récupère, puisque
lorsque je fais du pas à pas, en traçant la Property Focused du controle et
celui du suivant elles sont mises à jour correctement...

Je suis vraiment perdu...

"Paul Bacelar" a écrit :

> Soit un mécanisme de validation interdit la validation donc le changement de
> focus.
> Soit un delegate sur modification du contenu remet le focus sur la Textbox.
> Soit je ne sais pas.
>
> Vérifiez avec un point d'arrêt sur la méthode Focus d'une classe dérivé de
> Textbox pour savoir qui appel de manière intempestive cette méthode sur vos
> textbox.
> --
> Paul Bacelar
> MVP VC++
>
> "Prosperz" wrote in message
> news:
> > J'ai vérifié et non, elle ne renvoit pas toujours false... D'ailleurs, je
> > n'ai pas codé le déclechement de l'évènement Validating (ni validated
> > d'ailleurs). J'ai juste vérifié en debuggant qu'il passait bien par ses
> > fonctions...
> >
> > "Paul Bacelar" a écrit :
> >
> >> Votre fonction validating ne renvoye-t-elle pas toujours false ?
> >> --
> >> Paul Bacelar
> >> MVP VC++
> >>
> >> "Prosperz" wrote in message
> >> news:
> >> > Ah oui, autre précision, j'ai constaté que l'évènement Validated
> >> > n'était
> >> > pas
> >> > déclenché alors que Validating oui...
> >> >
> >> > "Prosperz" a écrit :
> >> >
> >> >> Bonjour,
> >> >>
> >> >> J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces
> >> >> Textbox
> >> >> j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).
> >> >>
> >> >> Si je mets à jour 1 champ, je ne peux plus perdre le focus !
> >> >>
> >> >> Si je change la valeur de la propriété CausesValidation de la Textbox,
> >> >> je
> >> >> peux changer le focus, mais ke Databinding ne se fait plus.
> >> >>
> >> >> Vous avez des idées ?
> >> >>
> >> >> Merci d'avance.
> >> >> Prosperz
> >>
> >>
> >>
>
>
>


Avatar
Prosperz
Bon j'ai semble-t-il trouver mon problème.

Au niveau formulaire, il y a une propriété AutoValidate, je l'ai passé à
EnableAllowFocusChange alors qu'elle était à EnablePreventFocusChanged.

Résultat je peux hanger de Focus sans problème...

Mais j'ai toujours l'interrogation sur pourquoi cela ne fonctionne pas avec
le paramètre par défaut ? Est-ce un bug ? Ou alors avais-je oublier de coder
certaines choses ?

"Prosperz" a écrit :

Bonjour,

J'ai un formulaire contenant plusieurs Textbox. Sur chacune de ces Textbox
j'ai un Databinding vers une base Mysql (MySqlConnector 1.0.7).

Si je mets à jour 1 champ, je ne peux plus perdre le focus !

Si je change la valeur de la propriété CausesValidation de la Textbox, je
peux changer le focus, mais ke Databinding ne se fait plus.

Vous avez des idées ?

Merci d'avance.
Prosperz