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

VB.NET Discussion :

Ajouter l'évenement keypress


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut Ajouter l'évenement keypress
    Bonjour

    J'ai une class qui hérite de la class label
    Est il possible de lui ajouter un evenement keypress ?

    Merci

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    au moment de l'initialisation tu peux écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    instanceDeMaClasse.KeyPress += new System.Windows.Forms.KeyPressEventHandler(monHandlerKeyPress);
    il faut que la fonction monHandlerKeyPress soit défini comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void monHandlerKeyPress(object sender, KeyPressEventArgs e) {
    	// des trucs à faire
    }
    (la portée n'a pas d'importance en soit, il faut juste qu'elle soit visible pour ton contrôle ... je crois)

  3. #3
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Je ne pense pas que c'est possible
    Après avoir lu
    http://forums.codeguru.com/showthrea...label-control!

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2012
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2012
    Messages : 80
    Par défaut
    Je ne connais pas la finalité mais... ci-dessous, les 2 idées qui me viennent.

    solution 1 : tu superpose une textbox au label. Un coup de visible sur le focus du label.

    solution 2: remplacer le label par une textbox sur laquelle tu enlève les bordures. ça aura l'apparence d'une bière mais avec l'effet de la pression (du clavier).

  5. #5
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    J'avoue que j'ai pas creuser, je suis juste allé sur la MSDN voir le description de System.Windows.Forms.Label (qui contient l'event ... hérité de Control mais qui n'est d'ailleurs même pas proposé dans le designer de VS).
    Il est vrai qu'un contrôle qui ne peut pas avoir de focus va difficilement capter les events clavier.

  6. #6
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    j'ai demandé aussi au forum microsoft
    et obtenu les réponses suivantes

    A standard label control has several keyboard events which are at the API level and are not intended for used directly in code. Think about it, there is nothing a user can do to raise such event which would be a KeyPressEventHandler (delegate).

    So the answer is yes but to no avail and the real answer is no using the information above.
    As Kevin has said, yes you can but, a Label is not made to capture the keyboard focus like a TextBox or other focus-able control that uses Key Presses so, you would need to add code that would make it accept focus. Depending on what you are using the label for there may be a better choice or it may even be better to Inherit from Control or and create the code to make it function the way you want.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/03/2009, 05h19
  2. L'évenement KeyPress d'une collection de TextBox dynamique
    Par jeanjean0403 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/01/2008, 14h16
  3. [Prototype] Ajouter un événement à tous les checkbox
    Par franculo_caoulene dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 19/12/2007, 12h35
  4. Ajouter un évenement à une balise input
    Par kirsoul dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/01/2007, 15h28
  5. [C#] ajout d'évenement dynamics
    Par xtream dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/06/2006, 19h38

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