Ashutosh Raj Ответов: 1

Как выделить текстовую строку несоответствия


Я создал два richtextbox с именем RTBData и RTBInput и сравнил данные после разделения и сравнения с помощью цикла. но цвет выбора не работает в этом случае, пожалуйста, предложите код для выделения различий.

Что я уже пробовал:

private void btn_end_Click(object sender, EventArgs e)
        {            
            data = RTBData.Text.Split(' ');
            input= RTBInput.Text.Split(' ');
            for (int j = 0; j < input.Length; j++)
            {
                if (data.Length > input.Length)
                {
                    if (data[j] == input[j])
                    {
                        richTextBox1.Text +=input[j]+" ";
                        ss += input[j].Length+1;
                    }
                    else if (data[j] != input[j])
                    {
                        string s = input[j];
                        Ehits++;
                        richTextBox1.Text += input[j] + " ";
                        sl = ss + input[j].Length;
                        richTextBox1.SelectionStart = ss;
                        richTextBox1.SelectionLength = richTextBox1.TextLength;
                        richTextBox1.SelectionColor = Color.Yellow;
                    }
                }
            }

Richard Deeming

richTextBox1.SelectionLength = richTextBox1.TextLength;

Наверное, так и должно быть:
richTextBox1.SelectionLength = input[j].Length;

Ashutosh Raj

Его не получается. Спасибо за помощь.

1 Ответов

Рейтинг:
1

Sachin Kakade

var striff =(data[j].Split(new char[] { ' ' }).Except(input[j].Split(new char[] { ' ' }))).ToList<string>();
       var strDiff1 = (input[j].Split(new char[] { ' ' }).Except(data[j].Split(new char[] { ' ' }))).ToList<string>();


или вы можете сразу использовать как показано ниже
 string strNew=data[j]-input[j];
// Then you can highlight characters from
// strNew.Split(new char[] { ' ' }).ToList();