Check für leere Textfelder über C# - Funktion
Ich geschrieben habe, eine Funktion, um zu überprüfen, ob alle Textfelder in einem Formular sind leer.
Es funktioniert derzeit, wenn ich es in die TextBox 'verlassen' - Ereignis.
Habe ich versucht, indem Sie ihn in eine Schaltfläche click-Ereignis, aber es gibt einen Fehler (NullReferenceException unhandled
).
Unten ist der code:
public void inputBlank(object sender, EventArgs e)
{
TextBox userInput;
userInput = sender as TextBox;
userTextBox = userInput.Text;
string blankBoxName = userInput.Name;
string blankBox = blankBoxName.Remove(0,3);
if (userTextBox == "")
{
errWarning.SetError(userInput, "Please enter a value for " + blankBox);
userInput.Focus();
}
else
{
errWarning.SetError(userInput, "");
}
}
Nur Fragen, wenn Sie könnten mich beraten, wie es zu lösen ist.
Vielen Dank.
Falsch Absender, ist eine Taste, nicht eine TextBox aus.
InformationsquelleAutor a.bell | 2011-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie überprüfen möchten ein leeres Textfeld in der Windows-Anwendung? Besser, es in der Validierung /Validate-Ereignis.
Diese links können Ihnen helfen,
InformationsquelleAutor Anuraj
Das direkte problem, wie ich es sehe, ist Sie verbindlich, dass-Ereignis einer Schaltfläche, die versucht, die Besetzung sender in eine text-Eingabe. Weil der Absender wird ein button-Steuerelement und nicht ein Textfeld, und Sie erhalten die nullreferenceexception.
Wenn du nach etwas suchst, Klick-Bezug Sie haben ein paar Optionen:
Controls
- Eigenschaft für jedes container-element). Dann, mal wieder, übergeben Sie diese Steuerelemente, die Sie finden, dass Sie überprüfen möchten zurück auf die Validierung der Methode.z.B.
Und um Ihnen eine Idee der rekursiven Steuerung greifen:
InformationsquelleAutor Brad Christie
Wie wäre es mit etwas wie dieses:
Durchlaufen der Kontrollen überprüfen, ob es eine textbox, wenn die .Text leer ist, legen Sie die class-variable IsValid auf false.
Dann auf eine Schaltfläche klicken oder etwas ist die .IsValid des Formulars false ist, Feuer ein Fehler.
InformationsquelleAutor Only Bolivian Here
Von dem, was ich sammeln, dies würde zu sein scheinen, weil die
sender
Instanz ist einButton
und nicht einTextBox
, das ist, was Sie versuchen zu sagen, es ist in die folgende Zeile:Das wird nicht funktionieren, da die Schaltfläche, die Sie geklickt haben, wird das Steuerelement, das das Ereignis ausgelöst hat, also warum wird die Absender.
Seit
TextBox
Kontrolle hat (oder zumindest erwartet) einen vordefinierten Namen /Bezeichner, warum Sie nicht nur Zugriff explizit? In:InformationsquelleAutor Grant Thomas