Partage
  • Partager sur Facebook
  • Partager sur Twitter

[VB.NET] Changer la couleur du texte

    2 juillet 2011 à 11:35:36

    Bonjour :)
    Je débute en VB.NET, et j'aimerais faire quelque chose du genre, dans une RichtextBox :
    Mettre en rouge tout se qui se trouve entre des "[]"
    Mettre en vert le mot "haut"
    Et des choses de ce genre. Je sais qu'il est possible de changer la couleur de tout le texte, mais je ne sais pas comment changer un partie, si c'est possible.
    Merci d'avance ;)

    Edit :

    J'ai trouver.... Pour ceux qui cherchent voici le code :



    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
            Dim keyword As String() = {"haut", "bas", "gauche", "droite"}
    
    
            Dim line As String = ""
    
            Dim defColor As Color = RichTextBox1.SelectionColor
            Dim defPos As Integer = RichTextBox1.SelectionStart
    
            Try
                With RichTextBox1
                    For i As Integer = 0 To .Lines.GetUpperBound(0)
                        line = .Lines.GetValue(i).ToString
                        If String.IsNullOrEmpty(line) Then Exit Try
                        line = line.ToLowerInvariant
                        For j As Integer = 0 To keyword.GetUpperBound(0)
                            If line.Contains(keyword(j)) Then
                                .SelectionStart = line.IndexOf(keyword(j)) + .GetFirstCharIndexFromLine(i)
                                .SelectionLength = keyword(j).Length
                                .SelectionColor = Color.Blue
                            End If
                        Next
                    Next
                End With
    
            Catch ex As Exception
                Exit Try
    
            Finally
                RichTextBox1.SelectionStart = defPos
                RichTextBox1.SelectionLength = 0
                RichTextBox1.SelectionColor = defColor
            End Try
    
    
        End Sub
    
    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2011 à 13:38:43

      Hello

      En C# (je pense que ca doit etre semblable en VB.NET) tu peut faire une truc du genre:
      richTextBox1.SelectionBackColor = Color.Azure
      

      Il te suffit alors de sélectionner ce que tu cherche, et d'appliquer cette méthode.

      Post croisé... zut ^^
      • Partager sur Facebook
      • Partager sur Twitter
        2 juillet 2011 à 14:03:55

        Merci quand même de ta réponse, ca pourrais m'etre utile car ce que j'ai trouver, c'est bien, mais pas moyen de mettre deux fois le même caractère sur la même ligne, le deuxieme ne se met pas en couleur :/

        Et aussi quand on fait un copié collé, ça déconne pas mal.

        SelectionBackColor représente quoi?
        • Partager sur Facebook
        • Partager sur Twitter
          2 juillet 2011 à 14:16:23

          La couleur de fond de la zone sélectionnée il me semble... même si je viens de me rendre compte que c'est mon Ctrl-Espace qui a merdé ^^
          • Partager sur Facebook
          • Partager sur Twitter
            2 juillet 2011 à 15:34:33

            Tu as la propriété RTF qui contient le texte riche. Tu peux essayer de modifier directement par là et en suivant les consigne RTF.
            • Partager sur Facebook
            • Partager sur Twitter

            [VB.NET] Changer la couleur du texte

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown