日期:2014-05-18  浏览次数:20864 次

焦点移动的问题
我做了一个英文打字游戏,加了一个button控件控制游戏的音乐,可是一按了button控件我的游戏打字就不行了!按了键盘,那字母就是没有什么反应,我想那个应该是焦点移动的问题,可具体怎样弄我就不懂了!在网上找资料弄了半天就是弄不出来!请各位兄弟姐妹帮个忙咯!谢谢。。
下面是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 英语字母练习
{
  public partial class Form1 : Form
  {
  Random rnd = new Random();
  Point[] p = new Point[6];//定义成成员变量,所有方法都可以使用
  int a = 6, b = 0,k=0;//z 为出现字符总数,q 表示击中的个数
  Label[] lab = new Label[6];//定义数组用来存放标签 其中数组的定义可以是 类名[] 数组名 =new 类名[];
  public Form1()
  {
  InitializeComponent();
  }

  private void label1_Click(object sender, EventArgs e)
  {

  }

  private void label2_Click(object sender, EventArgs e)
  {

  }

  private void Form1_Load(object sender, EventArgs e)
  {
  axWindowsMediaPlayer1.URL = "最炫民族风.mp3"; 

  //初始化标签的位置
  p[0] = new Point(100, 100);
  p[1] = new Point(300,300);
  p[2] = new Point(500,200);
  p[3] = new Point(700,450);
  p[4] = new Point(900,350);
  p[5] = new Point(1100,600);
  //对Label数组进行初始化
  lab[0] = label1;
  lab[1] = label2;
  lab[2] = label3;
  lab[3] = label4;
  lab[4] = label5;
  lab[5] = label6;
  //Random rnd = new Random();
  for (int i = 0; i < 6; i++)
  {//生成A-Z以及1-8的ASCII值
  rang (i);
  }

  }
  private void rang(int i)
  {
  //生成A-Z以及1-8的ASCII值
  //Random rnd = new Random();
  int r = rnd.Next(48, 91);
  while (57 < r && r < 65)
  {
  r = rnd.Next(48, 91);
  }
  char c = (char)r;
  lab[i].Text = c.ToString();
  lab[i].Location = p[i];

   
  }

  private void label3_Click(object sender, EventArgs e)
  {

  }

  private void label4_Click(object sender, EventArgs e)
  {

  }

  private void timer1_Tick(object sender, EventArgs e)
  {
  p[0].Y += 10;
  p[1].Y += 5;
  p[2].Y += 8;
  p[3].Y += 2;
  p[4].Y += 6;
  p[5].Y += 7;
  //重新定位标签
  for (int i = 0; i < 6; i++)
  {
  lab [i].Location =p[i];
  }

  for (int i = 0; i < 6; i++)
  {
  if (p[i].Y >= Height)
  {
  p[i].Y = 0;
  rang(i);
  a++;
  k++;
  }
   
  }
   
  }