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 :

comment récupèrer le texte séléctionné dans un RichTextBox


Sujet :

VB.NET

Vue hybride

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut comment récupèrer le texte séléctionné dans un RichTextBox
    Bonjour à tous;

    en fait mon problème est que je n'arrive pas à selectionner une partie du contenu de mon RTBox voilà ce que j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormProd.RichTextBoxQDes.Select(FormProd.RichTextBoxQDes.SelectionStart, FormProd.RichTextBoxQDes.SelectionLength)
    ça donne rien

    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    selection = FormProd.RichTextBoxQDes.SelectedText
    ne donne rien aussi

    Merci pour votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormProd.RichTextBoxQDes.Select(FormProd.RichTextBoxQDes.SelectionStart, FormProd.RichTextBoxQDes.SelectionLength)
    où formprod est mon form contenant la description d'un produit

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    en fait je pense que je dois clarifier plus les choses si j'espère avoir une réponse;

    j'ai un fichier xml du genre par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Prod_Description>
    <quanntité> <Style Bold = "0" Italic = "1" Underline= "1" selectionStart = "12"
    selectionLength = "5">  Pot 150 ml</Style>
    </quantité>
    <composition><Style Bold = "1" Italic = "1" Underline= "1" selectionStart = "2"
    selectionLength = "15">
    </composition>
    </Prod_Description>
    tous mes textes sont dans des RichTextBox qui lisent le contenu xml.
    les deux attributs selectionStart et selectionLength ont été rajoutés pour mémoriser la selection de l'utilisateur

    et je dois sauvegarder dans le fichier xml d'un coté le contenu et d'un autre la présentation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     If style.GetAttribute("Bold").Equals("1") Then
                                        sty += DirectCast(FontStyle.Bold, Integer)
                                        FormProd.RichTextBoxQDes.Select(FormProd.RichTextBoxQDes.SelectionStart, FormProd.RichTextBoxQDes.SelectionLength)
                                        FormProd.RichTextBoxQDes.Select(style.Attributes("selectionStart").Value, style.Attributes("selectionLength").Value)
                                        selection = FormProd.RichTextBoxQDes.SelectedText
                                        FormProd.RichTextBoxQDes.Font = New Font(FormProd.RichTextBoxQDes.SelectionFont, DirectCast(sty, FontStyle))
                                    End If
    ceci devait permettre "normalement " d'appliquer le style Bold à la sélection mais en fait le style Bold est appliqué à tout le contenu de mon RichTextBox

    AVEZ VOUS DES SUGGESTIONS SVP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 30
    Par défaut
    le code de tout à l'heure servait pour la lecture
    et celui là concerne l'ecriture dans le fichier xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     Select Case neud.Name
                            Case "Quantité_Désignation"
                                Dim elm As XmlElement = e.SelectSingleNode("//Quantité_Désignation/Style")
                                elm.SetAttribute("selectionStart", FormP.RichTextBoxQDes.SelectionStart)
                                elm.SetAttribute("selectionLength", FormP.RichTextBoxQDes.SelectionLength)
                                newProdQDes = FormP.RichTextBoxQDes.Text
                                elm.InnerText = newProdQDes
                                'Dim selection As String = FormP.RichTextBoxQDes.SelectedText
                                'FormP.RichTextBoxQDes.Select(FormP.RichTextBoxQDes.SelectionStart, selection.Length)
     
                                If FormP.getBold(FormP.RichTextBoxQDes) Then
                                    elm.Attributes("Bold").Value = 1
                                    elm.SetAttribute("selectionLength", 2)
                                Else : elm.Attributes("Bold").Value = 0
                                End If
     
                                If FormP.getItalic(FormP.RichTextBoxQDes) Then
                                    elm.Attributes("Italic").Value = 1
                                Else : elm.Attributes("Italic").Value = 0
                                End If
     
                                If FormP.getUnderline(FormP.RichTextBoxQDes) Then
                                    elm.Attributes("Underline").Value = 1
                                Else : elm.Attributes("Underline").Value = 0
                                End If
     
                                'Select Case FormP.getAllignement(FormP.RichTextBoxQDes)
                                '    Case 0
                                '        elm.Attributes("allign").Value = 0
                                '    Case 1
                                '        elm.Attributes("allign").Value = 1
                                '    Case 2
                                '        elm.Attributes("allign").Value = 2
                                'End Select
                                elm.Attributes("allign").Value = FormP.getAllignement(FormP.RichTextBoxQDes)
                                If FormP.getBullet(FormP.RichTextBoxQDes) Then
                                    elm.Attributes("bullet").Value = 1
                                Else : elm.Attributes("bullet").Value = 0
                                End If
    normalement vous avez tous les élements.
    Merci de m'aider.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/07/2015, 01h58
  2. [Lazarus] Comment récupérer un texte dans un Tedit ?
    Par Ben8282 dans le forum Lazarus
    Réponses: 10
    Dernier message: 29/01/2008, 21h53
  3. Réponses: 8
    Dernier message: 07/12/2007, 20h48
  4. Comment récupérer le texte sélectionné dans une liste déroulante ?
    Par Je-cherche-pfe dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/09/2007, 20h35
  5. Réponses: 12
    Dernier message: 05/03/2007, 11h52

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