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 :

colorer une zone de texte contenu dans une varibale dans une richtextbox


Sujet :

VB.NET

  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Par défaut colorer une zone de texte contenu dans une varibale dans une richtextbox
    bonjour tout le monde
    j'ai une variable qui contient une chaîne de caractères, je voudrais colorer cette chaîne de caractères dans une richtextbox.
    ma variable c'est résultat. et voici le code que j'ai fais mais cela me colore tout mon texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'nbrmots contient le nombre de mot dans ma chaine
    Richtextbox.SelectionStart=resultat.length-nbrmots
    Richtextbox.SelectionLenght=Richtextbox.selectionStart+resultat.lenght
    Richtextbox.SelectionBackColor=Color.blue
    voila merci pour votre aide

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut Colorer une variable string dans richtextox
    bonjour maya 22
    La c'est mal parti ton truc.Le RichTextBox ne connait pas ta variable results du tout.
    Observations sur ton code d'abord :
    1/ des fautes de frappe serieuses:
    -Richtextbox =>Richtextbox1
    - Richtextbox.SelectionLenght=Richtextbox.selectionStart+resultat.lenght=>
    s'ecrit RichTextBox1.SelectionLength .Il n' y a pas de "lenght" dans VB.
    2/Utiliser l'intellisense pour les mots cles de VB pour eviter ces fautes de frappe

    Maintenant ta selection de la variable texte "results" se fait en plusieurs etapes logiques:

    1/la charger à partir de TextBox
    2/demander à RichTextBox1 de la trouver d'abord.
    -s'il trouve ,il donne le "startpos" de ta variable.
    3/Commencer la selection à partir de la position "startpos" jusqu'a "length" de ta chaine.
    4/changer la couleur ou les couleurs du texte,sa fonte et je ne sais quoi encore....

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     
    Public Class frmRichTextColor
        Private resultat As String = String.Empty
        Public Sub New()
     
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            'titre du bouton btnCouleurFond & btnCouleurTexte
            Me.btnCouleurFond.Text = "Couleur Fond"
            Me.btnCouleurTexte.Text = "Couleur Texte"
            ' textbox de saisie pour resultats
            Me.txtBoxResults.Text = "Maya 22"
            'texte exemple juste  le  RichTextBox1
            RichTextBox1.AppendText("L'exemple de code suivant affiche un ColorDialog qui permet à Maya 22 de spécifier une couleur " _
                                      & "pour la sélection de texte en cours ou le texte entré après le point d'insertion en cours dans un  " _
                                      & "contrôle RichTextBox.... " _
                                      & "Cet exemple suppose que la méthode définie est ajoutée à une classe Form qui contient " _
                                      & "un contrôle RichTextBox nommé RichTextBox1.")
     
        End Sub
     
        Private Sub btnCouleurTexte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCouleurTexte.Click
            If Me.txtBoxResults.Text <> "" Then
                'la variable resultat recupere le contenu du textbox 
                resultat = Me.txtBoxResults.Text
            Else
                'si textboxvide Exit
                Return
            End If
            'rechercher var resultat dans RichTextBox1
            Dim posDepartResultat As Integer = RichTextBox1.Find(resultat, RichTextBoxFinds.MatchCase)
            If posDepartResultat <> 0 Then ' if  is found
                RichTextBox1.SelectionStart = posDepartResultat 'position depart
                RichTextBox1.SelectionLength = resultat.Length  'longueur de zone selectionne
                'Changer le font
                RichTextBox1.SelectionFont = New Font("Arial", 14)
     
                ' DialogColor =>   couleur du texte
                Call ChangeForeColorSelection()
            End If
     
        End Sub
        Private Sub btnCouleurFond_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCouleurFond.Click
     
            If Me.txtBoxResults.Text <> "" Then
                'la variable resultat recupere le contenu du textbox 
                resultat = Me.txtBoxResults.Text
            Else
                'si textbox  vide Exit
                Return
            End If
     
            'rechercher var resultat dans RichTextBox1
            Dim posDepartResultat As Integer = RichTextBox1.Find(resultat, RichTextBoxFinds.MatchCase)
            If posDepartResultat <> 0 Then ' if  is found
                RichTextBox1.SelectionStart = posDepartResultat 'position depart
                RichTextBox1.SelectionLength = resultat.Length  'longueur de zone selectionne
     
                ' DialogColor =>  couleur de fond du texte
                Call ChangeBackColorSelection()
            End If
        End Sub
        'boite dialogue couleur texte
        Public Sub ChangeForeColorSelection()
            Dim colorDialog1 As New ColorDialog()
            '  couleur initiale de colorDialog1 = actuelle couleur du RichTextBox.
            colorDialog1.Color = RichTextBox1.SelectionColor
            '  Si utilisateur clique OK dans colorDialog1 & choisit une couleur differente
            '  Changer couleur du RichTextBox1 vers choix...
            If (colorDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK) _
                And Not (colorDialog1.Color.Equals(RichTextBox1.SelectionColor)) Then
     
                RichTextBox1.SelectionColor = colorDialog1.Color
            End If
        End Sub
        'boite dialogue couleur fond 
        Public Sub ChangeBackColorSelection()
            Dim colorDialog1 As New ColorDialog()
            '  couleur initiale de colorDialog1 = actuelle couleur du RichTextBox.
            colorDialog1.Color = RichTextBox1.SelectionBackColor
            '  Si utilisateur clique OK dans colorDialog1 & choisit une couleur differente
            '  Changer couleur du RichTextBox1 vers choix..
            If (colorDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK) _
                And Not (colorDialog1.Color.Equals(RichTextBox1.SelectionColor)) Then
     
                RichTextBox1.SelectionBackColor = colorDialog1.Color
            End If
        End Sub
     
     
    End Class
    bon code...

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/12/2014, 09h32
  2. Réponses: 14
    Dernier message: 30/05/2006, 16h55

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