Différence entre Control.Select() et Control.Focus()
1 réponse
Gilles TOURREAU
Salut tout le monde !
Je voudrais faire reprendre le focus à un contrôle quelconque (Bouton,
TextBox, ...etc). Je vois que dans l'aide il existe 2 méthodes pour cela :
Control.Select()
et
Control.Focus()
Les 2 fonctionnent mais je ne vois pas la différence entre ses 2 méthodes...
Laquelle faut-il mieux utiliser ? Pourquoi ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
delattre.brice
Bonjour, sauf erreur de ma part,
La methode Focus indique quel est le controle qui possède le focus d'entrée. La methode Select() fait en fait appel à la methode Select(false,false) don le 1er param sert de flag au second qui indique le sens de parcour des controles au sein du coneneur.
En bref, la mehode Select sert simplement au conteneur du control sur lequel la methode est appellée (IContainerControl) de "Selectionner" ce controle (IContainerControl.ActiveControl = monControl) sans pour autant donner à ce dernier le focus.
Il se peut que chaque classe heritée de IContainerControl ait surchargé IContainerControl.ActiveControl afin de donner à monControl le focus ce qui implique que les 2 methodes aient le meme comportement.
Ce qu'il fau retenir : Apres un Focus(), le conteneur ne sait pas quel est l'enfant qui possède le focus. Apres un Select() le conteneur est avisé de l'enfant à selectionner et eventuellement lui donne le focus si ce dernier est focusable.
Joyeux Noel.
Bonjour, sauf erreur de ma part,
La methode Focus indique quel est le controle qui possède le focus
d'entrée.
La methode Select() fait en fait appel à la methode
Select(false,false) don le 1er param sert de flag au second qui indique
le sens de parcour des controles au sein du coneneur.
En bref, la mehode Select sert simplement au conteneur du control sur
lequel la methode est appellée (IContainerControl) de "Selectionner"
ce controle (IContainerControl.ActiveControl = monControl) sans pour
autant donner à ce dernier le focus.
Il se peut que chaque classe heritée de IContainerControl ait
surchargé IContainerControl.ActiveControl afin de donner à monControl
le focus ce qui implique que les 2 methodes aient le meme comportement.
Ce qu'il fau retenir :
Apres un Focus(), le conteneur ne sait pas quel est l'enfant qui
possède le focus.
Apres un Select() le conteneur est avisé de l'enfant à selectionner
et eventuellement lui donne le focus si ce dernier est focusable.
La methode Focus indique quel est le controle qui possède le focus d'entrée. La methode Select() fait en fait appel à la methode Select(false,false) don le 1er param sert de flag au second qui indique le sens de parcour des controles au sein du coneneur.
En bref, la mehode Select sert simplement au conteneur du control sur lequel la methode est appellée (IContainerControl) de "Selectionner" ce controle (IContainerControl.ActiveControl = monControl) sans pour autant donner à ce dernier le focus.
Il se peut que chaque classe heritée de IContainerControl ait surchargé IContainerControl.ActiveControl afin de donner à monControl le focus ce qui implique que les 2 methodes aient le meme comportement.
Ce qu'il fau retenir : Apres un Focus(), le conteneur ne sait pas quel est l'enfant qui possède le focus. Apres un Select() le conteneur est avisé de l'enfant à selectionner et eventuellement lui donne le focus si ce dernier est focusable.