namespace 打字游戏
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void timer1_Tick(object sender, EventArgs e)//时钟
        {
            Label lab = new Label();
            Random rm = new Random();
            int result = rm.Next(0 ,this.Width);
            int aTz = rm.Next(65,91);
            lab.AutoSize = true;
            lab.Location = new System.Drawing.Point(result,0);
            lab.Name = Convert.ToChar(result).ToString();
            //lab.Size = new System.Drawing.Size(41, 12);
            lab.Text = Convert.ToChar(aTz).ToString();
            lab.Font = new Font("新宋体",13);
            lab.ForeColor = Color.White;
            this.Controls.Add(lab);
            //
            Thread labelThread = new Thread(new ThreadStart(new MoveChar(lab,this).Move));
            labelThread.Start();
            
        }        private void button1_Click(object sender, EventArgs e)//按钮控制时钟开关
        {
            if (timer1.Enabled==true)
            {
                timer1.Stop();
                return;
            }
            if (timer1.Enabled == false)
            {
                timer1.Interval = 1000;
                timer1.Start();
                return;
            }
        }        private void Form1_KeyPress(object sender, KeyPressEventArgs e)//键盘事件 --这里不起作用,不知道什么原因啊?好像根本没有运行过
        {
            MessageBox.Show(e.KeyChar.ToString());
            foreach (Label labeobj in this.Controls)
            {
                if (labeobj == null)
                {
                    break;
                }
                else if (e.KeyChar.ToString() == labeobj.Text)
                {                    
                        labeobj.Dispose();                        
                        //Thread.CurrentThread.Abort();
                        this.Controls.Remove(labeobj);
                 
                }
            }
        }        private void Form1_Load(object sender, EventArgs e)
        {
            this.BackColor = Color.Black;
        }                
    }
    public class MoveChar
    {
        private Label labTeam;
        private Form formlab;
        public MoveChar(Label lab, Form form)
        {
            labTeam = lab;
            formlab = form;        }
        public void Move()
        {
            while (true)
            {
                Thread.Sleep(30);
                labTeam.Invoke(new MethodInvoker(mm));
                if (this.labTeam.Top >=this.formlab.Height)
                {         
                    this.labTeam.Invoke(new MethodInvoker(clr));
                    Thread.CurrentThread.Abort();
                }
            }
        }
        public void clr()
        {
            this.labTeam.Dispose();
        }        public void mm()
        {
            this.labTeam.Top += 1;
        }
    }
    
}=======
现在问题是:键盘事件不起作用,当label从上面飘下来的时候,我按相应的字母键,可它没反应