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 :

position due la souris dans le richtextbox


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Par défaut position due la souris dans le richtextbox
    salut tout le monde,
    est ce que quelqu'un connait comment je peux reconnaitre la position de mon curseur de ma souris sur le richTextBox car SelectionStart ne marche pas
    en fiat lorsque je positionne mon souris dans une position, SelectionStart ne me retourne pas la correcte valeur.

  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 : 44
    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
    SelectionStart n'est pas lié à la position de la souris, c'est l'index du caractère où commence la sélection de texte.
    Pour obtenir la position de la souris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Point absolute = Control.MousePosition;
    Point relative = richTextBox1.PointToClient(absolute);
    (absolute est la position de la souris en coordonnées écran, relative est la position par rapport au RichTextBox)

  3. #3
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Par défaut
    en fait ce que je veux savoir c'est l'index ou se trouve le soouris pas les coordonnées pour que je puisse ajouter du texte

  4. #4
    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 : 44
    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
    Dans ce cas tu y es presque
    La méthode GetCharIndexFromPosition du RichTextBox renvoie l'index du caractère à une position donnée, tu n'as plus qu'à lui passer en paramètre la valeur obtenue avec mon code

  5. #5
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Par défaut
    j'ai essayer ça mais ç me donne toujours la meme position et voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Point absolute = Control.MousePosition;
    Point relative = ((RichTextBox)tabControl1.SelectedTab.Controls[0]).PointToClient(absolute);
    int indexRecherche = ((RichTextBox)tabControl1.SelectedTab.Controls[0]).GetCharIndexFromPosition(relative);
    Console.WriteLine("l'indice de la souris est  " + indexRecherche.ToString());

  6. #6
    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 : 44
    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
    C'est l'index par rapport au texte du RichTextBox, donc ça ne fonctionne pas s'il est vide...

    Et épargne-toi quelques souffrances : déclare une variable pour ta RichTextBox, ce sera plus lisible et plus rapide à écrire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RichTextBox rtb = (RichTextBox)tabControl1.SelectedTab.Controls[0];
    Point absolute = Control.MousePosition;
    Point relative = rtb.PointToClient(absolute);
    int indexRecherche = rtb.GetCharIndexFromPosition(relative);
    Console.WriteLine("l'indice de la souris est  " + indexRecherche.ToString());

Discussions similaires

  1. [Lazarus] Position de la souris dans un TMemo
    Par ChPr dans le forum Lazarus
    Réponses: 11
    Dernier message: 25/05/2012, 16h41
  2. Réponses: 3
    Dernier message: 23/11/2010, 17h13
  3. Détecter la position de la souris dans une fonction
    Par polemoss dans le forum jQuery
    Réponses: 5
    Dernier message: 19/03/2009, 09h28
  4. Position de la souris dans un Memo
    Par greg778 dans le forum Delphi
    Réponses: 17
    Dernier message: 27/11/2006, 21h32
  5. Position de la souris dans une form
    Par planetevoyage dans le forum Delphi
    Réponses: 3
    Dernier message: 12/10/2006, 10h39

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