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!
 
. 


