el textBox.Clear() no es necesario, jeje el codigo de Novlucker es el correcto
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
Private ReservadasBlue As String() = _
{"if", "then", "else"} 'En este arreglo pones todas las palabras que quieras que aparezcan en color Azul
Private ReservadasRed As String() = _
{"echo", "@"} 'En este arreglo pones todas las palabras que quieras que aparezcan en color Rojo
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
' aqui obtiene un arreglo de palabras desde el inicio
' hasta donde esta la posicion del cursor
Dim Palabras As String() = RichTextBox1.Text.Substring(0, RichTextBox1.SelectionStart).Split()
'Aqui obtenemos el ultimo elemento del arreglo de palabras
Dim UltimaEscrita As String = Palabras(Palabras.Length - 1)
'Guardamos la posicion del cursor
Dim PosCursor As Integer = RichTextBox1.SelectionStart
'Verificamos si la palabra escrita esta en el el arreglo
'en este caso declare un arreglo para cada color
If ReservadasBlue.Contains(UltimaEscrita) Then
RichTextBox1.Find(UltimaEscrita, RichTextBoxFinds.Reverse)
RichTextBox1.SelectionColor = Color.Blue
RichTextBox1.SelectionStart = PosCursor
End If
'aqui para el color rojo, en caso de añadir mas pues solo seria
'cosa de agregar mas arreglos y mas condicionales
If ReservadasRed.Contains(UltimaEscrita) Then
RichTextBox1.Find(UltimaEscrita, RichTextBoxFinds.Reverse)
RichTextBox1.SelectionColor = Color.Red
RichTextBox1.SelectionStart = PosCursor
End If
'regresamos al color original
RichTextBox1.SelectionColor = Color.Black
End Sub
Private Reservadas As String() = _
{"if", "then", "else", "echo", "@"} 'En este arreglo pones todas las palabras que quieras que aparezcan en color
Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
Dim i As Integer = RichTextBox1.SelectionStart
Dim ActualCursor As Integer = RichTextBox1.SelectionStart 'recordar el punto de donde se estaba escribiendo
Dim j As Integer = 0
If i <> 0 Then 'evitar que el indice se salga del rango
Do
i = i - 1 'recorre en reversa hasta encontrar un espacio
j = j + 1 'cuenta los caracteres de la palabra
Loop While RichTextBox1.Text(i) <> CChar(" ") And i <> 0 'termina cuando encuentra un espacio
End If
Dim substring As String = RichTextBox1.Text.Substring(i, j).Trim() 'obtiene la ultima palabra escrita, quitandole los espacios
If Reservadas.Contains(substring) Then 'comprobar que la palabra este en la lista
RichTextBox1.Find(substring, RichTextBoxFinds.Reverse)
RichTextBox1.SelectionColor = Color.Blue 'Colorea el texto
RichTextBox1.SelectionStart = ActualCursor
End If
RichTextBox1.SelectionColor = Color.Black 'Vuelve al color primario
RichTextBox1.SelectionStart = ActualCursor
End Sub