C# TextBox filtern
Möchte ich die Daten filtern, die der Benutzer eingibt. Ich will nur ihn, um in der Lage sein, um zahlen zu addieren und , oder . und zum löschen im Fall des Irrtums.
Habe ich diesen code:
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if ((char.IsDigit(e.KeyChar) == false) &&
(e.KeyChar != '\b') && (e.KeyChar != ','))
e.Handled = true;
if (e.KeyChar == ',' && (sender as TextBox).Text.IndexOf(',') > 0)
e.Handled = true;
}
Nun habe ich zwei Probleme:
1) ich habe zwei Textfelder (die Felder wo der Benutzer schreiben darf einige zahlen, die Hinzugefügt werden/geteilt usw.) und wenn ich Schreibe nur ein Komma in einem von Ihnen gibt es einen Fehler.
2) ich möchte auch, um es möglich zu verwenden ".", aber ich will es ändern in ",".
Welche Fehlermeldung erhalten Sie?
Unbehandelte Ausnahme
Verwenden Sie eine MaskedTextBox-Steuerelement statt.
Betrachten Sie die Fragen zu diesem ein und Sie werden sehen, eine Menge von Duplikaten.
JEDE Ausnahme, die Sie erhalten, wird nicht behandelt, was ist die exception-Meldung?
Unbehandelte Ausnahme
Verwenden Sie eine MaskedTextBox-Steuerelement statt.
Betrachten Sie die Fragen zu diesem ein und Sie werden sehen, eine Menge von Duplikaten.
JEDE Ausnahme, die Sie erhalten, wird nicht behandelt, was ist die exception-Meldung?
InformationsquelleAutor Jeling | 2014-05-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser code ermöglicht Kommas ohne Ausnahme:
Dennoch, mit Blick auf Ihren code, es scheint, dass Sie möchten, dass nur ein einzelnes Komma. Dieser code beschränkt den Inhalt, die nur ein einzelnes Komma:
Offenbar, ich weiß nicht, wie format-code in den Kommentaren, so ich aktualisiere die wichtigste Antwort, um Platz für die zusätzliche Anforderung.
Dieser code erlaubt - aber die stellen es an den Anfang der Reihe unabhängig davon, wenn es gedrückt wird:
Ich aktualisiert die ursprüngliche "Antwort" - post mit der zusätzlichen Bedingung, weil ich es nicht geschafft, die
code
Formatierung zu arbeiten, in einem Kommentar.InformationsquelleAutor Lemiarty
Hier ist der code, den ich schrieb, mit
WndProc
um so Priorität wie möglich abzufangen, Veranstaltungen, und Sie den code unten behandelt, indem auf die Taste drücken, wird das einfügen und einstellen von text programmgesteuert.Dann können Sie einfach
FastTextBox
als Kontrolle, im Ort derTextBox
, und legen Sie programmgesteuert dieTextAcceptor
Eigenschaft eines Delegierten:Für weitere Erklärungen finden Sie in der Dokumentation schrieb ich in der Klasse.
EDIT:
Ich verbesserte den code, basierend auf einem bug mit der Zwischenablage.
InformationsquelleAutor Davide Cannizzo
Können Sie verwenden
regex
+text changed event
. Es ist sehr einfache in Ihrem Fall:InformationsquelleAutor Phoenix
Haben Sie sich Gedanken über die Verwendung
Regular expression validator
undtextbox
in Ihrer aspx-Seite?Dies ist nur ein weiterer Ansatz, obwohl.
InformationsquelleAutor Rex