C#实现打字小游戏(二)

在这里插入图片描述
实现这样的效果关键在于对输入文字的控制richTextBox__TextChanged事件的应用

private void richTextBox2_TextChanged(object sender, EventArgs e)
        {
        //判断输入长度
            if (richTextBox2.Text.Length != 0)
            {
                length = richTextBox2.Text.Length;
                index = length;


                ch = richTextBox2.Text.ToCharArray();//把输入的字符串转化为字符数组

                for (i =0; i < index; i++)//遍历字符数组,让每个字和文中的内容一一比较
                {
           
                    if (ch[i] != ch1[i])//ch1是文本中的字
                    {//如果输入的字和上文中的字不一样,选中这个字,让选中的字变成红色
                        richTextBox1.Select(i, 1);
                        richTextBox1.SelectionColor = Color.Red;

                    }

                }
            }

        }

窗体载入时初始化文中的字符数组

  private void Form1_Load(object sender, EventArgs e)
        {
            ch1 = richTextBox1.Text.ToCharArray();
            richTextBox2.Select(0, 0);
        }

然后是如果退格的话让字重新变为黑色

private void richTextBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == '\b')
            {
                richTextBox1.Select(index, 1);
                richTextBox1.SelectionColor = Color.Black;
        
            }
        }

label1标签是用来显示时间,当然还有记录成绩都在打字小游戏(一)中有描述,就不重复说明。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值