Tengo un problema con mi codigo, la idea es que tiene que cambiarle el color a una palabra en el richtextbox si esa palabra concuerda con el grupo de palabras reservadas, es decir si do aparece y do es palabra reservada, entonces do aparecera con un color rojo, el problema que tengo es que si ingreso 3 veces seguidas la palabra me tira el error diciendo que el fichero inicio tiene el valor de -1.
Les dejo el codigo aqui abajo
Código:
Ojala me pueda ayuda con mi duda.public partial class Form1 : Form { string[] Reservadas = new string[] { "else", "if" }; public Form1() { InitializeComponent(); this.richTextBox1.TextChanged += (ob, ev) => { var palabras = this.richTextBox1.Text.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var resultado = from b in Reservadas from c in palabras where c == b select b; int inicio = 0; foreach (var item in resultado) { inicio = this.richTextBox1.Text.IndexOf(item, inicio); this.richTextBox1.Select(inicio, item.Length); this.richTextBox1.SelectionColor = Color.Red; this.richTextBox1.SelectionStart = this.richTextBox1.Text.Length; inicio++; } this.richTextBox1.SelectionColor = Color.Black; this.richTextBox1.SelectionStart = this.richTextBox1.Text.Length; };
Saludos!