如何在WinForm中突出显示RichTextBox文本

时间:2015-07-19 18:51:54

标签: c# winforms richtextbox

我在表单上只添加了一个RichTextBox,文字说“嗨..我是CodeProject。”

所以, 我想做的是......

专注于RichTextBox ..用户将键入与RichTextBox中显示的相同的字母。如果用户输入的字母& RichTextBox字母匹配它将突出显示它的文字...如果用户按错了关键字,它将显示一些警告信息。

我做了类似这样的事......但它没有正常工作。

首先我保存了数组中的所有字母

    string[] lettersInText;

    private void Form1_Load(object sender, EventArgs e)
    {
        lettersInText = new string[richTextBox1.TextLength];

        for (int i = 0; i < richTextBox1.TextLength; i++)
        {
            AllLetterInTextBox = richTextBox1.Text;
            FirstLetterInTextBox = AllLetterInTextBox[i].ToString();
            lettersInText[i] = FirstLetterInTextBox;
        }
        richTextBox1.Focus();
    }

然后在RichTextBox的KeyDown事件上尝试将所有保存在Array中的字母与e.KeyCode匹配

        string keycode = e.KeyCode.ToString();

        if (keycode == lettersInText[i].ToString())
        {
            _letters = _letters + e.KeyCode.ToString();
            richTextBox1.Select(0, _letters.Length);
            richTextBox1.SelectionColor = Color.Red;
            richTextBox1.Select(richTextBox1.TextLength, 0);
            richTextBox1.SelectionColor = richTextBox1.ForeColor;
        }
        i++;

我可以说它工作正常......但只有问题是e.KeyDown只显示大写字母......即使我按下小写字母。

0 个答案:

没有答案