两个文本框,第一个文本框中一串字符。 在第二个文本框中输入对应字符,若错误,以红色字体显示。我是这样写的private static int i;
private void richTextBox2_TextChanged(object sender, EventArgs e)
{
j=richTextBox1.Text.Length;
while(i<j)
{
if (richTextBox1.Text[i]!= richTextBox2.Text[i])
{
richTextBox2.Select(i, 1);
richTextBox2.SelectionColor = Color.Red;
}
i++;
}这代码 运行后输入错的后再输入就抛出异常。解决不了。如何解决?
private void richTextBox2_TextChanged(object sender, EventArgs e)
{
j=richTextBox1.Text.Length;
while(i<j)
{
if (richTextBox1.Text[i]!= richTextBox2.Text[i])
{
richTextBox2.Select(i, 1);
richTextBox2.SelectionColor = Color.Red;
}
i++;
}这代码 运行后输入错的后再输入就抛出异常。解决不了。如何解决?
解决方案 »
- 高难度问题,关于C# Winfrom webBrowser控件
- 【新手问题】A是B的父类,A a=new B()
- WinFrom SqlConnection局域网连接
- dropdownlist二级菜单联动提示onchange不是dropdownlist的属性
- 谁能给一段用.net + “managed directx”编写的透明物体的代码,多谢了!
- 我想在Form的任意位置摆放我的MainMenu~~~~~
- 绘图方面的问题
- 如何编译
- 如何使用资源文件
- to CForce:你发的程序都是Beta1的,用起来麻烦,有无Beta2的,先谢谢啦[email protected]
- 怎么把图片的空白处切掉
- C#button的运用
private void richTextBox2_TextChanged(object sender, EventArgs e)
{
int start = richTextBox2.SelectionStart;
int m = richTextBox1.TextLength > richTextBox2.TextLength ? richTextBox2.TextLength : richTextBox1.TextLength;
for (int i = 0; i < m; i++)
{
if (richTextBox1.Text[i] != richTextBox2.Text[i])
{
richTextBox2.Select(i, 1);
richTextBox2.SelectionColor = Color.Red;
}
}
if (richTextBox2.TextLength > richTextBox1.TextLength)
{
richTextBox2.Select(richTextBox1.TextLength, richTextBox2.TextLength - richTextBox1.TextLength);
richTextBox2.SelectionColor = Color.Red;
}
richTextBox2.SelectionStart = start;
richTextBox2.SelectionColor = richTextBox1.ForeColor;
}
{
Int32 iLen = richTextBox2.Text.Length;
if (iLen > 0 && iLen < richTextBox1.Text.Length)
{
if (richTextBox1.Text[iLen-1] != richTextBox2.Text[iLen-1])
{
richTextBox2.Select(iLen-1, 1);
richTextBox2.SelectionColor = Color.Red;
richTextBox2.SelectionLength = 0;
richTextBox2.SelectionStart = iLen;
richTextBox2.SelectionColor = Color.Black;
}
}
}