none
Crear un modo comentarios RRS feed

  • Pregunta

  • Hola a Todos.

     Hoy quería preguntar sobre como hacer que al escribir una comilla simple (') en un RichTextBox, se cambie el color de la linea que le sigue a la comilla simple, pero que no siga del mismo color  durante el resto del RichTextBox, es decir, algo parecido a escribir un comentario en Visual Basic o Visual Studio. Por lo que necesitaría que me enviaran el código.

     Gracias de antemano.

    miércoles, 24 de febrero de 2016 23:23

Respuestas

  • Basándote en el ejemplo que apuntaba Norberto, podrías hacer algo así:

        Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
            Dim prevStart = RichTextBox1.SelectionStart
            Dim prevLength = RichTextBox1.SelectionLength
            For i As Integer = 0 To RichTextBox1.Lines.Length - 1
                Dim quoteIndex As Integer = RichTextBox1.Lines(i).IndexOf("'"c)
                If quoteIndex >= 0 Then
                    Dim start As Integer = RichTextBox1.GetFirstCharIndexFromLine(i) + quoteIndex + 1
                    Dim length As Integer = RichTextBox1.Lines(i).Length - quoteIndex
                    RichTextBox1.SelectionStart = start
                    RichTextBox1.SelectionLength = length
                    RichTextBox1.SelectionColor = Color.Green
                End If
            Next
            RichTextBox1.SelectionStart = prevStart
            RichTextBox1.SelectionLength = prevLength
        End Sub


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 27 de febrero de 2016 8:24

Todas las respuestas

  • Hola

    Revisa el siguiente link.

    http://stackoverflow.com/questions/31150050/selecting-text-and-changing-its-color-on-a-line-of-a-richtextbox

    Trataron de hacer algo similar a lo que tu necesitas.

    Saludos

    miércoles, 24 de febrero de 2016 23:53
  • Hola.

    Vi el código y note que estaba en C#, pero yo trabajo en Visual Basic, y con la traduccion de un programa a oro marac error.

    Igualmente gracias por tu ayuda.

    sábado, 27 de febrero de 2016 4:50
  • Basándote en el ejemplo que apuntaba Norberto, podrías hacer algo así:

        Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged
            Dim prevStart = RichTextBox1.SelectionStart
            Dim prevLength = RichTextBox1.SelectionLength
            For i As Integer = 0 To RichTextBox1.Lines.Length - 1
                Dim quoteIndex As Integer = RichTextBox1.Lines(i).IndexOf("'"c)
                If quoteIndex >= 0 Then
                    Dim start As Integer = RichTextBox1.GetFirstCharIndexFromLine(i) + quoteIndex + 1
                    Dim length As Integer = RichTextBox1.Lines(i).Length - quoteIndex
                    RichTextBox1.SelectionStart = start
                    RichTextBox1.SelectionLength = length
                    RichTextBox1.SelectionColor = Color.Green
                End If
            Next
            RichTextBox1.SelectionStart = prevStart
            RichTextBox1.SelectionLength = prevLength
        End Sub


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 27 de febrero de 2016 8:24
  • Hola Asier

    Muchas gracias por tu ayuda, ya use el codigo y me sirvió, eso si no lo analize, pero lo haré y me servira para aprender, asi que muchas gracias.

    Gracias.

    lunes, 29 de febrero de 2016 18:09