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

Windows Forms Discussion :

Simuler appui touche entrée à partir d'un bouton


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut Simuler appui touche entrée à partir d'un bouton
    Bonjour à tous,

    je voudrais à partir d'un "Click" d'un bouton déclencher un "Retour chariot" dans un richtextbox, de la même manière que ce qui se produit manuellement dans richtextbox lorsque j'appuie sur entrée, j'ai un retour à la ligne.

    le code ci-dessous ne fonctionne pas, et je ne comprend pas pourquoi, j'ai même essayé de réabonné l'évènnement mais rien ne se passe, pourtant lorsque j'affiche le "Sender" et le Keyvalue dans l'èvènement onKeyDown du richtextbox, que cela soit par le click du bouton ou par l'appuie de la touche entrée, les valeurs envoyées sont les mêmes et pourtant mon appelle par le click ne déclenche pas le retour à la ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private void button1_Click(object sender, EventArgs e)
            {            
                richTextBox1.Focus();            
                KeyEventArgs ek1 = new KeyEventArgs(Keys.Enter);
                richTextBox1_KeyDown(((RichTextBox)richTextBox1), ek1);                                   
            }
     
            private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
            {
                MessageBox.Show(sender.ToString() + " - KeyValue = " + e.KeyValue.ToString());
     
            }
    merci d'avance pour votre aide

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    richTextBox1_KeyDown(((RichTextBox)richTextBox1), ek1);
    ne déclenchera pas les mécanismes internes à la textbox, cela appelle seulement la méthode que tu as déclarée (qui n'est d'ailleurs pas censée être appelée explicitement par ton propre code, c'est une cible de délégué pour la réception d'un évènement).
    Si tu veux gérer les lignes, tu as RichTextBox.Lines, et aussi la propriété RichTextBox.Multiline qui doit être à 'true'. Je ne sais plus si le fait d'ajouter directement '\r\n' à la propriété Text fonctionne pour aller à la ligne, tu peux toujours essayer.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    merci de la réponse, mais si le gère par Lines, il suffit que je lui affecte un nouveau string[] mais ce n'est pas ce que je voudrais faire.

    donc il n'y pas moyen de faire ce que j'expliquai dans mon post d'origine ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    tu peux toujours faire la methode "brute force"

    genre : SendMessage(WM_KEYDOWN, etc...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    merci à tous,

    effectivement api sendmessage ou aussi sendkeys font ce que je voulais faire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] simuler la touche entrée
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/04/2009, 23h30
  2. [Batch]Appui touche "entrée" innatendu
    Par Goupsy dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 10/01/2008, 08h40
  3. [CF] Simuler appui touche en C#
    Par pixie98 dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 16/10/2007, 12h19
  4. Simuler la touche Entrée par un bouton
    Par blond1888 dans le forum Delphi
    Réponses: 5
    Dernier message: 01/02/2007, 09h44
  5. simuler la touche entrée
    Par LeXo dans le forum Général Java
    Réponses: 4
    Dernier message: 26/01/2007, 10h18

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