2016-05-27 15 views
0

Ich habe den folgenden Code nur für Zahlen in der Texbox, möchte aber auch nur numerische Operationen (+, -, *, usw.) einschließen. Wie würdest du bitte dafür kodieren?So validieren Sie numerische Operanden im Textfeld

private void txtCalculation_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); 
} 
+0

Mögliches Duplikat von [Parse Math Expression] (http://stackoverflow.com/questions/3972854/parse-math-expression) –

Antwort

0

Wenn Sie nur Ziffern und +, -, *,/Sie sollte wie folgt verwendet werden:

private char[] validChars = {'+', '-', '*', '/'}; 

private void txtCalculation_KeyPress(object sender, KeyPressEventArgs e) {   
    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar) && !Array.Exists(validChars, e.KeyChar); 
} 

Die Array-ValidChars definiert zusätzliche Zeichen, die gültig sind. Und mit der Methode Array.Exists können Sie prüfen, ob das Array einen Wert enthält, der durch den zweiten Parameter der Methode angegeben wurde - in diesem Fall e.KeyChar.

Verwandte Themen