2017-06-26 2 views
0

erlaubt auszuführen, wenn ich es laufen wird ausführen, aber wenn ich die Eingabe drücken Sie die Taste noch das MeldungsfeldMit Textbox ohne Knopf, dann geben Sie nur Zahlen

für 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(); 
     } 

für moneytextboxKeypress erscheint

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

ich habe versucht, die Enter-Taste in dem Tastendruckereignis zu entsperren

aber „Meldungsfeld“ erscheint noch

+0

Ich habe versucht, die Enter-Taste in dem Tastendruck-Ereignisse if (! (Char.IsDigit (e.KeyChar) || (e.KeyChar == (char) Keys.Enter))) { MessageBox zu entsperren. Show ("Bitte nur Ziffern eingeben"); e.Handled = wahr; } messagebox erscheint immer noch –

Antwort

0

Sie rufen Keypress zweimal da, wenn Sie etwas auf der Tastatur drücken, wird das keydown Ereignis ausgelöst hat. Da Sie den "Tastendruck" drücken, werden sowohl der Ereignishandler für die Tastenfolge als auch der Tastendruck ausgelöst. Setzen Sie alles auf den Keydown Event Handler, um alle Ihre Anfragen zu bearbeiten:

Und entfernen Sie die moneytextboxKeypress.

+0

wenn ich eine buchstaben die messagebox erscheint, aber der brief erscheint auf der textbox ,, ihr code ist eine große hilfe tho, danke –

+0

Froh, der Hilfe @PrinceJkc. –

Verwandte Themen