Entwickler-Ecke

Basistechnologien - TextBox_KeyDown: Die Funktion kommt zuspät ...


tomycat - So 19.02.17 21:14
Titel: TextBox_KeyDown: Die Funktion kommt zuspät ...
hallo,
ich habe 3 Textboxen und ein Button.

1.TB Preis
2.TB bezahlt
3.TB Rest

1.Button Berechnen

ich gebe den Preis ein, dann was der Kunde bezahlt hat und klicke auf Berechnen, es erscheit das Ergebnis bei Rest.
Das klappt soweit. Jetzt will ich es so haben: Ich gebe den Preis ein und sobald ich eine Zahl in bezahlt eingebe wird automatisch der Rest berechnet.
mein Code für keydown bezahlt:

C#-Quelltext
1:
2:
3:
4:
private void textBox76_KeyDown(object sender, KeyEventArgs e)
{        
    rest_berechnen();
}

geht nicht:
Ich habe bei Preis ein 1111
Dann gebe ich bei bezahlt 1 ein, dann kommt eine Fehlermeldung "Bitte geben Sie einen Zahl ein".
Dann gebe ich bei bezahlt 11 ein, --> Rest 1110
Dann gebe ich bei bezahlt 111 ein, --> Rest 1100
...und so weiter, ich bekomme immer das Ergebnis was ich davorbekommen sollte.

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Ralf Jansen - So 19.02.17 21:46

KeyDown ist einfach zu früh nur weil die Taste gedrückt wurde heißt noch lange nicht das das Zeichen auch schon in der TextBox angekommen ist oder die Taste auch für ein darstellbares Zeichen steht. TextChanged wäre vermutlich geeigneter.


Th69 - Mo 20.02.17 10:41

Hallo tomycat,

könntest du bitte den Titel anpassen. Was soll ein "Lauflauf Problem...." sein?