Prüfung einer TextBox für die ein leerer string, ein integer oder ein string
Checke ich ein Textfeld für die folgenden
- Wenn es keine Eingabe
- Wenn die Eingabe zwischen 0 und 100
- Wenn die Eingabe ein string anderes als eine Zahl
Den code -
if (this.BugCompPct.Text == String.Empty)
else if (Convert.ToInt32(this.BugCompPct.Text) > 100 | Convert.ToInt32(this.BugCompPct.Text) < 0)
//Not sure about checking the last if
Was könnte ich stellen, wenn die bedingte zu überprüfen, ob ein string anderes als ein integer?
Ich möchte nur die Eingabe ein integer sein, und nichts anderes
Dank
- Auch den Wert speichern diese.BugCompPct.Text, bevor Sie es zweimal. Jetzt ist es zu analysieren, es zweimal.
- Ich denke, Sie sollten einen maskierte textbox
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
int.TryParse
Methode, um zu sehen, ob die Analyse erfolgreich.Leeren string verwenden
- string.IsNullOrWhiteSpace
(unterstützt auf .Net framework 4.0 und höher), Für .Net framework 3.5 oder niedriger können Siestring.IsNullOrEmpty
mitstring.Trim
Ihre Prüfung alle Bedingungen Aussehen könnte:
is not a number
sollteis not a Integer
, weil es sein könnte, ein Doppel-oder vermisse ich etwas?Prüfen Sie zunächst, ob
TextBox
leer ist, dann, wenn die Zeichenfolge gültig ist, die Nummer und die Letzte Prüfung Grenzen.jeden Wert in einem Textfeld als string. Ich würde Ihnen dann zu tryparse statt konvertieren.zu.
(Warum? tryparse behandelt werden kann viel einfacher und wird nicht Abstürzen und brennen, wenn es schlechte Werte hinein)
nur mit int.TryParse(txtbox1.text, out i)
Müssen Sie definieren, integer ich über diese
dann können Sie verwenden, wenn Aussagen, die mit i (der integer-version) zu überprüfen.
Um zu überprüfen, ob eine ganze Zahl gerade erst verwenden:
können Sie dann > < in if-Anweisungen, um zu überprüfen, wie groß die Zahl ist.
Wenn Sie auf windows form, die Sie verwenden sollten maskierte textbox.