2013-05-17 2 views
0

Je suis en train de faire un programme qui: Si vous appuyez sur start (button1), il devrait commencer à travailler si vous appuyez sur Stop (button2) il arrête jusqu'à ce que u nouveau sur MarcheC# keypress départ minuterie

mon objectif : quand il est sur, et l'espace est pressé, il devrait "spammer" des espaces (vous maintenez l'espace, et il continue à sauter dans le jeu (cs)) Fondamentalement, je suis en train de créer une trémie de lapin pour les jeux. Je suis assez nouveau pour C# applications de forme, donc je ne sais pas ce qui est erroné avec mon code ..

ce travail ne marche pas: keydown et des événements

voici mon code:

namespace Bunny 
{ 
    public partial class Form1 : Form 
    {    
     Timer timer = new Timer(); 
     Boolean isOn = false; 

     public Form1() 
     { 
      InitializeComponent(); 
      timer.Tick += new EventHandler(timer1_Tick); 
      timer.Interval = 50;      
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 

     private void button1_Click(object sender, EventArgs e) 
     {    
      timer.Enabled = true; 
      timer.Start(); 
     } 

     private void timer1_Tick(object sender, EventArgs e) 
     { 
      if(isOn) 
      { 
       SendKeys.Send(" ");      
      } 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      timer.Enabled = false; 
      timer.Stop(); 
     } 
     private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) 
     { 
      if (e.KeyCode == Keys.Space) 
      { 
       isOn = true; 
      } 
     } 
     private void Form1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e) 
     { 
      if (e.KeyCode == Keys.Space) 
      { 
       isOn = false; 
      } 
     } 

    } 
} 
+0

Que fait le programme? Quel comportement obtenez-vous en ce moment? –

+0

cela fonctionne si je mets isOn vrai manuellement (à l'initialisation), mais il ne fonctionne pas avec l'espace (essayé d'autres touches ainsi) –

+0

où utilisez-vous la méthode 'bunny_KeyUp'? –

Répondre