当前位置:编程学习 > C#/ASP.NET >>

求求各位大虾,帮我这段代码注释一下再详细点,谢了。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ToType
{
    public partial class Form1 : Form
    {
        private int tsecond; //设置打字时间,单位为秒
        public Form1()
        {
            InitializeComponent();
        }
        //正确的字母个数
        int right = 0;
        //错误的个数
        int worry = 0;
        #region 计时器1
        /// <summary>
        /// timer事件自动下落的方法
        /// </summary>
        /// <param name="sender"></param>
        /// param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            //循环判断字符走过的高度是否大于当前页面的高度,
            while (this.label1.Top >= this.Height)
            {
                //如果大于当前高度,则令他的高度为3
                this.label1.Top = 3;
            }
            //下落速度自加;
            this.label1.Top += 5;
        } 
        #endregion
        #region 计时器开始
        /// <summary>
        /// 单击开始时的反应
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            //运行计时器控件
            this.timer1.Start();
            //运行计时器控件2
            this.timer2.Start();
        } 
        #endregion
        #region 停止按钮事件
        /// <summary>
        /// 停止按钮按下时发生的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            //停止计时器控件1
            this.timer1.Stop();
            //停止计时器控件2
            this.timer2.Stop();
            //判断用户输入的正确与错误结果给予图片显示
            //当用户的输入正确个数为百分百时
            if (right == right + worry)
            {
                //创建f2对象
                Form2 f2 = new Form2();
                //显示结果
                f2.Show();
            }
            //当用户的输入正确的字母大于80%时
            else if (right > (right + worry) * 0.8)
            {
                //创建f3对象
                Form3 f3 = new Form3();
                //显示结果
                f3.Show();
            }
            //当用户输入的正确数在50%到80%之间时的结果
            else if (right > (right + worry) * 0.5 && right < (right + worry) * 0.8)
            {
                //创建f4对象
                Form4 f4 = new Form4();
                //显示结果
                f4.Show();
            }
            //当用户输入的正确个数结果小于50%时显示结果
            else
            {
                //创建f5对象
                Form5 f5 = new Form5();
                //显示结果
                f5.Show();
            }
        } 
        #endregion
        #region 键盘输入接受的事件
        /// <summary>
        /// 键盘输入时发生的事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            //判断下降的速度高低
            if (this.label1.Top > this.label6.Top)
            {
                //接收用户输入的1字符
                string receive1 = e.KeyChar.ToString();
                //判断输入的字符是否和自动生成的相同
                if (receive1 == "a")
                {
                    right++;
                    //显示正确个数
                    this.label3.Text = right.ToString();    
                }
                else if (receive1.Equals(code1))
                {
                    right++;
                    //显示正确的个数
                    this.label3.Text = right.ToString();
                }
                else
                {
                    worry++;
                    this.label5.Text = worry.ToString();  
                }
                //接收速记字母的返回值
                this.label1.Text = GetCode1().ToString();
                //令高度从新开始
                this.label1.Top = 3;

             }
            else if (this.label1.Top < this.label6.Top)
            {
                //接收用户输入的1字符
                string receive2 = e.KeyChar.ToString();
                if (receive2 == "b")
                {
                    right++;
                    this.label3.Text = right.ToString();
                }
                else if (receive2.Equals(code2))
                {
                    right++;
                    //显示正确的个数
                    this.label3.Text = right.ToString();                    
                }
                else
                {
                    worry++;
                    this.label5.Text = worry.ToString();                            }
                //接收速记字母的返回值
                this.label6.Text = GetCode2().ToString();
                //令高度从新开始
                this.label6.Top = 3;
            }
            }            
        #endregion
        #region 生成随机字符1
        /// <summary>
        /// 生成随机字母的方法从新开始
        /// </summary>
        /// <returns></returns>
        string code1 = "";
        private string GetCode1()
        {
            Random rd = new Random();
            code1 = Convert.ToChar(65 + rd.Next(56)).ToString().ToLower();
            return code1;
        } 
        #endregion
        #region 计时器2
        /// <summary>
        /// 时间计数器2
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer2_Tick(object sender, EventArgs e)
        {
            lbltime.Text = Convert.ToString(int.Parse(lbltime.Text) - 1);
            //循环判断字符走过的高度是否大于当前页面的高度,
            while (this.label6.Top >= this.Height)
            {
                //如果大于当前高度,则令他的高度为3
                this.label6.Top = 3;
            }
            //下落速度自加;
            this.label6.Top += 5;
        } 
        #endregion
        #region 随机字符2
        /// <summary>
        /// 生成随机字母的方法从新开始
        /// </summary>
        /// <returns></returns>
        string code2 = "";
        private string GetCode2()
        {
            Random rd = new Random();
            code2 = Convert.ToChar(65 + rd.Next(56)).ToString().ToLower();
            return code2;
        }
        #endregion
        private void pausebtn_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            timer2.Enabled = false;
        }
        private void 分钟ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            lbltime.Text = 60.ToString();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            lbltime.Text = 0.ToString();
        }
    }
}
--------------------编程问答-------------------- 注释写到这个份上,算是不错了,还要怎么完善? --------------------编程问答-------------------- 确实是这样 --------------------编程问答-------------------- 哈哈,自己好好琢磨 --------------------编程问答-------------------- 已经有注释啦。。。。。。。 --------------------编程问答-------------------- lz是牛人,楼主是要我们给每个字母都注释哈 --------------------编程问答-------------------- 已经非常详细了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,