C# - TextBox Validation
Habe ich einige code, der prüft und stellt sicher, dass, wenn der Benutzer in das Feld eine ganze Zahl von 1 - 10 Eingabe.
Obwohl, wenn der Benutzer nimmt den Fokus auf das Feld, das "schlechte" Daten (wie etwa "fdgfdg") ist noch im Feld. So konnten sich einige zeigen, wie, wenn der Fokus verloren auf dem Feld, wenn die Daten nicht gültig sind, wird ein default-Wert eingetragen wird, statt z.B. 5
private void textBox4_TextChanged(object sender, EventArgs e)
{
try
{
int numberEntered = int.Parse(textBox4.Text);
if (numberEntered < 1 || numberEntered > 10)
{
MessageBox.Show("You must enter a number between 1 and 10");
}
}
catch (FormatException)
{
MessageBox.Show("You need to enter an integer");
}
}
- Dies ist winforms desktop-app...
- Dies ist winforms nicht eine web-Seite.
- Auch wenn es schon eine web-app, server-seitige Validierung ist zwingend erforderlich. Client-seitige Validierung sollte eine weiterführende Ergänzung zu server-seitige Validierung.
- Sie sollten auch einen Blick auf ErrorProvider, das ist eine praktische Möglichkeit, der Anzeige, dass eine Eingabe falsch ist.
- Ich bin ein Werkzeug. Das ist, was passiert, wenn Sie Antworten, Dinge, die um 4 Uhr 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Ereignisse, die Sie hier nutzen haben können,
Leave
,LostFocus
undValidating
es ist mehr Diskussion dieser verschiedenen Ereignisse auf MSDN hier.Unter bestimmten Szenarien, die
Leave
und dieLostFocus
wird nicht ausgelöst, also ist die beste zu verwenden, in deinem Fall ist dieValidating
Veranstaltung:Haben Sie einen Blick hier und ich würde das TryParse
wenn Sie selbstgedrehte Validierung, wie Sie hier tun, ist alles was Sie tun müssen, ist, um den Standardwert festzulegen, nachdem Sie die MessageBox.Show()
in standard winforms-ich glaube nicht, dass Sie irgendwelche framework-Unterstützung für die Validierung, aber du könntest mal hier gucken: http://msdn.microsoft.com/en-us/library/ms951078.aspx für die inspiration, so dass Sie nicht streuen diese Logik in Ihrem ganzen app
Verwenden Sie die Lassen event auf die textbox-Steuerelement zu überprüfen und festlegen der Standard-Wert