Ich habe ein Textfeld, das einen Dezimalwert sagt 10500.00
das Problem ist, dass die Art, wie ich es habe, wenn Sie einen Wert eingeben und dann die Dezimalstellen eingeben, würde es nicht zulassen, dass Sie die Textbox rückgängig machen oder löschen um einen neuen Wert einzugeben .. es bleibt einfach stecken .. Ich habe versucht, den Wert zurück auf 0,00 zu setzen, aber ich denke, ich habe es an der falschen Stelle platziert, weil es nicht ändern wird. Hier ist mein CodeTextbox mit Dezimaleingabe Verbesserung
private void txtTransferAmount_KeyPress(object sender, KeyPressEventArgs e)
{
bool matchString = Regex.IsMatch(textBoxTransfer.Text.ToString(), @"\.\d\d");
if (matchString)
{
e.Handled = true;
}
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
// only allow one decimal point
if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') > -1)
{
e.Handled = true;
}
}
Welche Art von Veränderung schlagen Sie vor, so dass ich in der Lage sein kann, um ein Zeichen zurückzugehen oder die texbox zu löschen ein einen neuen Wert eingeben ?.