我在表单上只添加了一个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只显示大写字母......即使我按下小写字母。