2017-06-26 5 views
0

quand je l'exécute fonctionne, mais quand j'appuyez sur la touche Entrée de la boîte de message apparaît toujoursEn utilisant textbox sans bouton, Entrée pour exécuter alors Seuls les numéros autorisés

pour moneytextbox Keydown

  if (e.KeyCode == Keys.Enter) 
     { 
      int a, b, c; 
      a = int.Parse(money.Text); 
      b = int.Parse(bill.Text); 
      c = a - b; 

      change.Text = c.ToString(); 
     } 

pour moneytextboxKeypress

if (!(Char.IsDigit(e.KeyChar) || (e.KeyChar == (char)Keys.Back))) 
{ 
     MessageBox.Show("please enter digits only"); 
     e.Handled = true; 
} 

j'ai essayé de débloquer la touche entrée dans l'événement keyPress

if (!(Char.IsDigit(e.KeyChar) || (e.KeyChar == (char)Keys.Enter))) 
{ 
    MessageBox.Show("please enter digits only"); e.Handled = true; 
} 

mais « boîte de message » apparaît encore

+0

j'ai essayé de débloquer la touche entrée dans la pression de touche if (! (Char.IsDigit (e.KeyChar) || (e.KeyChar == (char) Keys.Enter))) { MessageBox. Montrer ("s'il vous plaît entrer les chiffres seulement"); e.Handled = true; } messagebox apparaît toujours –

Répondre

0

Vous appelez Keypress deux fois car une fois que vous appuyez sur quoi que ce soit sur votre clavier, l'événement sera déclenché keydown. Depuis que vous appuyez sur la "touche", le gestionnaire d'événements keydown et keypress sera déclenché. Mettez tout sur le gestionnaire d'événements keydown pour gérer toute votre demande:

if (e.KeyCode == Keys.Enter) 
     { 
      int a, b, c; 
      a = int.Parse(label1.Text); 
      b = int.Parse(label2.Text); 
      c = a - b; 

      label3.Text = c.ToString(); 
      return; 
     } 

     if (!(Char.IsDigit((char)e.KeyData) || (e.KeyData == Keys.Up))) 
     { 
      MessageBox.Show("please enter digits only"); 
     } 

Et supprimez le moneytextboxKeypress.

+0

quand j'appuie sur une lettre, la boîte de message apparaît mais la lettre apparaît sur la zone de texte, votre code est d'une grande aide, merci –

+0

Content d'être utile @PrinceJkc. –