Ich mache eine C# Windows Form, um alle Einträge zu überprüfen, wenn alle Einträge gültig sind, wird ein Meldungsfeld angezeigt, aber ich brauche Hilfe, um sicherzustellen, dass alle Einträge gültig sind und ein Meldungsfeld anzeigen . es ist wahrscheinlich einfacher, all dies zu tun, aber könnte auch lernen, wie das alles zu tun ist. Hier ist, was ich bisher habe.C# -Fenster Formular Überprüfung aller Einträge dann Meldungsfeld
Antwort
Sie könnten einen booleschen Wert hinzufügen und ihn auf false setzen, wenn eine Validierung fehlschlägt.
private void btn_submit_Click(object sender, EventArgs e)
{
string name = txt_name.Text;
string email = txt_email.Text;
string address = txt_address.Text;
string course = txt_course.Text;
string phone = txt_phone.Text;
bool formIsValid = true;
if (name.Length < 8)
{
txt_name.Text = "Invalid Name";
txt_name.ForeColor = Color.Red;
formIsValid = false;
}
else
{
txt_name.ForeColor = Color.Green;
}
if (email.Contains('@'))
{
if (email.Contains(".com") || email.Contains(".COM"))
{
txt_email.ForeColor = Color.Green;
}
else
{
txt_email.Text = "invalid Email";
txt_email.ForeColor = Color.Red;
formIsValid = false;
}
}
else
{
txt_email.Text = "invalid Email";
txt_email.ForeColor = Color.Red;
formIsValid = false;
}
if (address.Length < 12)
{
txt_address.Text = "invalid Address";
txt_address.ForeColor = Color.Red;
formIsValid = false;
}
else
{
txt_address.ForeColor = Color.Green;
}
if (course.Contains("Games Design") || course.Contains("Electronics") || course.Contains("Mobile Communications") || course.Contains("GAMES DESIGN") || course.Contains("ELECTRONICS") || course.Contains("MOBILE COMMUNICATIONS"))
{
txt_course.ForeColor = Color.Green;
}
else
{
txt_course.Text = "invalid Course";
txt_course.ForeColor = Color.Red;
formIsValid = false;
}
if (phone.Length < 8)
{
txt_phone.Text = "invalid Phone Number";
txt_phone.ForeColor = Color.Red;
formIsValid = false;
}
else
{
txt_phone.ForeColor = Color.Green;
}
if (formIsValid)
{
//submit the form
}
else
{
MessageBox.Show("Your error message here");
}
}
Es ist eine einfache Sache, können Sie eine Boolesche Variable einführen, den Status zu bezeichnen, anfänglich auf true
(sagen wir IsAllValidEntries
), bei ungültigen Eintrag es falsch machen. Und überprüfen Sie die Variable am Ende, wenn eine der Bedingungen falsch ist, wird der Wert der booleschen Variablen ebenfalls falsch sein; folgender Code werden Ihnen helfen:
private void btn_submit_Click(object sender, EventArgs e)
{
// definitions
bool IsAllValidEntries = true;
if (name.Length < 8)
{
//code here
IsAllValidEntries = false;
}
else{ }
if (email.Contains('@'))
{
if (email.Contains(".com") || email.Contains(".COM"))
{
// your code here
}
else
{
//code here
IsAllValidEntries = false;
}
}
else
{
//code here
IsAllValidEntries = false;
}
if (address.Length < 12)
{
//code here
IsAllValidEntries = false;
}
else
{
txt_address.ForeColor = Color.Green;
}
if (course.Contains("Games Design") || course.Contains("Electronics") ||
{
txt_course.ForeColor = Color.Green;
}
else
{
//code here
IsAllValidEntries = false;
}
if (phone.Length < 8)
{
//code here
IsAllValidEntries = false;
}
else
{
txt_phone.ForeColor = Color.Green;
}
if (IsAllValidEntries)
MessageBox.Show("Well done");
else
MessageBox.Show("oooops!");
}
Die anderen Antworten gut funktionieren werden, aber es wäre in seinem eigenen Verfahren schöner sein, sagen AllEntriesValid
, die einen Booleschen Wert zurück, und wenn alle Einträge gültig sein muss, kann Kurzschluss, wenn ein ungültiger Eintrag getroffen wird, als solche:
private bool AllEntriesValid()
{
if (name.Length < 8)
{
txt_name.Forecolor = Color.Red;
return false;
}
if (email.Contains('@'))
{
return false;
}
//if we get this far, no invalid entries were found, return true
return true;
}
Dies kann dann von mehreren Mausklicks aufgerufen werden, nicht nur die, die Sie haben zur Zeit bekam - und es ist viel besser lesbar und hält Ihren Code kondensiert!
Dann in Ihrem Button-Code, würden Sie rufen Sie einfach an:
private void btn_submit_Click(object sender, EventArgs e)
{
if (AllEntriesValid())
{
//do something now that everything is valid
}
}
// EDIT: Gepresste einreichen bald auch.
Dan
- 1. Meldungsfeld für doppelte Einträge
- 2. C#: Holen WindowHandles aller Fenster von Prozessname
- 3. Formular Datum Überprüfung Problem
- 4. Löschen aller Einträge in einem Dictionary C# WPF
- 5. Handle Antwort von Meldungsfeld C#
- 6. Überprüfung aller Qt-Signal/Slot-Verbindung
- 7. (Z3Py) Überprüfung aller Lösungen für die Gleichung
- 8. Form Validation nicht richtig funktioniert, läuft ohne Überprüfung Einträge
- 9. Überprüfung Wenn Dann Aussagen in PHP
- 10. Styling-Meldungsfeld
- 11. C# Senden von E-Mail aus Fenster Formular nicht triggern
- 12. WinForms-Meldungsfeld mit Textschaltflächen
- 13. Ähnliche Einträge in einem Safecracker-Formular?
- 14. Abonnieren von Mausereignissen aller Steuerelemente in Formular
- 15. Meldungsfeld verursacht Fokusverlust
- 16. Überprüfung von Django und benutzerdefiniertem Formular
- 17. AngularJS benutzerdefiniertes Formular steuert die Überprüfung
- 18. Unerwünschte Eingabe Parameter Wert Meldungsfeld
- 19. Jquery Formular senden, Async Anruf dann Formular bei Erfolg senden
- 20. Formular nur dann in ein neues Fenster senden, wenn eine bestimmte Schaltfläche zum Senden gedrückt wird?
- 21. Einzelne Seite aller HTML-Controls/Tags zur Überprüfung Stil
- 22. Öffnen Sie eine WPF-Fenster-App-Formular VS-Erweiterungsbefehl
- 23. Visual C# Fenster behaver
- 24. C# Windows Formular Tab Order
- 25. C# Multi-Dimensional Array Überprüfung
- 26. Hinzufügen von Protokollkonformität zu vorhandener Klasse dann Überprüfung, ob Geräte?
- 27. Überprüfung auf HTTP-Autorisierung in mvc vor Ajax Formular Post
- 28. Einträge nicht duplizieren Einträge
- 29. Holen Sie sich die Liste aller geöffneten MDI-Fenster
- 30. Ändern Sie App-Fenster Formular auf Mac
Die Antworten gegeben sind, was ich tun, außer ich eine Validierungsmethode vom Typ Bool machen und meinen Code setzen dort. – Missy