IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Perte de focus.. comment le récupérer ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 29
    Par défaut Perte de focus.. comment le récupérer ?
    Bonjour,

    Je réalise une applis permettant de scanner des codes barres pour les utiliser ensuite comme base pour une URL pour ouvrir une application propriétaire.
    Mon scanner à un bouton permettant de scanner le code barre. Ce scanner est en mode "USB-Keyboard"
    Mon problème :

    Quand l'applis à le focus, pas de problème je peux scanner mes codes barres " à la chaine" et ça fonctionne bien. C'est maintenant que ça devient intéressant (!): une fois le dossier ouvert dans l'application propriétaire, l'utilisateur va modifier des éléments dans la page qui vient de s'ouvrir de l'applis proprio ( c'est un peu le but...), et du coup mon applis perd le focus.

    Pour éviter de devoir expliquer à mes charmantes secrétaires qu'elle doivent cliquer sur le formulaire en bas à gauche, pour ouvrir le prochain dossier...

    Comment faire pour, lorsque l'utilisateur va scanner un nouveau code barre, détecter le "OnKeyPress" du scanner, reprendre le focus dans mon applis, et poser la référence du code barre dans le textbox qui va bien ??

    Mon soucis c'est que je trouve le gestionnaire d'événements :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Windows.Forms.KeyPressEventArgs
    Mais celle-ci se trouve au niveau du Form, donc ça ira bien si j'ai le focus sur mon applis, juste ?

    Donc il me faut trouver la même chose au niveau Windows mais visiblement yapa...

    Comment je fais, pour retrouver ce satané focus sur mon formulaire ?

    Merci d'avance

    Nicolas

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Il est possible de détecter des évènements clavier ou souris hors de l'application, à l'aide d'un hook goblal (voir ici par exemple).

    La question à se poser, à mon avis, c'est plutôt comment savoir si l'évènement clavier que tu reçois correspond à une lecture de code-barre... y a-t'il un caractère spécifique envoyé par le lecteur qui te permet de le savoir ? Parce que s'il envoie juste des chiffres, tu ne peux pas vraiment faire la différence entre une lecture de code-barre et un nombre tapé à la main dans une autre application...

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/05/2013, 07h39
  2. [Débutant] Comment tester la perte de focus de son application
    Par Brontozor dans le forum VB.NET
    Réponses: 0
    Dernier message: 02/11/2012, 14h17
  3. Comment détecter la perte de focus d'une fenêtre
    Par Leviathan_72 dans le forum Windows
    Réponses: 5
    Dernier message: 31/12/2005, 00h22
  4. excel -> test lors de la perte du focus d'une cellule
    Par greg778 dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 26/09/2005, 17h26
  5. [VB.NET] Perte de focus entre deux form
    Par toniolol dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/07/2005, 08h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo