VB.NET InputBox Beispiel

VB.NET InputBox Beispiel
VB.NET InputBox Beispiel

VB.NET InputBox Beispiel

In meinem VB.NET InputBox Beispiel geht es um eine einfache und rudimentäre Variante, die simple Eingabe eines Nutzers entgegenzunehmen.

Falls Du hingegen komplexere Eingaben, wie z. B. die Eingaben einer Adresse via Dialog-Fenster beabsichtigst, ist vermutlich dieses Tutorial hier für Dich besser geeignet.

Da wir in diesem Beispiel in erster Linie String-Eingaben verarbeiten aber natürlich auch in Zahlen umwandeln können – bieten sich unter anderem ggf. noch folgende Beiträge an: String zerlegen, bzw. splitten, erstes Zeichen aus String entfernen, letztes Zeichen aus String entfernen.

Szenario – InputBox

Jeder kommt hier und da irgendwann mal an den Punkt beim Programmieren, wo man einem Nutzer ganz einfach eine Textbox zeigen will und an dessen Text-Eingabe kommen möchte.

Nun stellt sich die Frage: „Och man, muss ich dafür jetzt ein komplett eigenes Fenster erstellen? Geht das nicht einfacher und vor allem schneller!?“.

Zum Glück muss man – jedenfalls in simplen Fällen – für die Eingabe von z. B. Text, einer Zahl, oder einem Datum keine eigene Maske mit Bestätigungs-, bzw. Abbruch-Funktionalität erstellen.

Dafür kommt uns die InputBox-Funktion vom .NET Framework zu Hilfe, allerdings sieht Diese nicht so prickelnd schön aus.

Code

Form1-Klasse

Die gängige Hauptklasse unserer Beispiele, insofern keine weitere Dialoge oder Formulare notwendig sind.

Methoden

Form1_Load

In der Load-Methode der Form, bzw. genauer genommen in dessen Load-Ereignishandler, rufen wir 3 verschiedene Beispiele der InputBox für unser VB.NET InputBox Beispiel auf.

Natürlich kannst Du Beispiele nach Belieben ausund ein-kommentieren, um einen besseren Blick über das ausgewählte Beispiel zu erhalten.

Das war letztendlich auch die Absicht hinter den einzelnen Methoden: Beschreibung und die saubere Trennung der Beispiele.

DoSimpleGreeting

Diese Methode dient wohl dem einfachsten, bzw. gängigsten Beispiel, also der simplen Abfrage eines Strings.

Wir fragen in diesem Fall den Namen des Nutzers ab und prüfen ob dieser leer ist.

Wenn der Name leer ist, also falls der Dialog abgebrochen wurde, oder der Dialog leer bestätigt wurde, dann wird eine Meldung ausgegeben und die Sub mit „Early-Return“ verlassen.

Haben wir einen String vorliegen, nehmen wir an, dass dies der Name des Nutzers ist und geben eine entsprechende Meldung aus.

WorkWithInteger

Dieses Beispiel sieht ähnlich aus, nur geht es hier um die Eingabe eines Alters.

Ein weiterer Unterschied ist unter anderem, dass wir weiter unten den String versuchen in einen Integer (also eine Ganzzahl) umwandeln.

Falls dies nicht erfolgreich ist, verfahren wir auch hier ähnlich, geben eine Meldung an den Nutzer und verlassen die Sub mit „Early-Return“.

Wenn alles geklappt hat, geben wir letztendlich eine Meldung mit dem Alter aus.

WorkWithDate

Ähnelt sehr stark dem vorherigen Beispiel, nur das wir hier ein Datum verarbeiten und später formatiert im String anzeigen.

Kompletter Code – VB.NET InputBox Beispiel

Für die Schnellen habe ich hier im Sinne von TL;DR (Too Long Didn’t Read) den gesamten Code in einem Stück zusammengeschrieben.

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DoSimpleGreeting()
        WorkWithInteger()
        WorkWithDate()
    End Sub

    Private Sub DoSimpleGreeting()
        Dim content = "We would like to be more personal, so please provide your name so we can talk to you better :)!"
        Dim title = "Please enter your name"
        Dim input = InputBox(content, title)
        Dim cancelled = String.IsNullOrEmpty(input)
        If cancelled Then
            MessageBox.Show("Ok, so you don't want to tell us your name.. :(")
            Return
        End If
        MessageBox.Show($"Nice to meet you, {input}")
    End Sub

    Private Sub WorkWithInteger()
        Dim content = "Please enter your age!"
        Dim title = "Your age?"
        Dim input = InputBox(content, title)
        Dim cancelled = String.IsNullOrEmpty(input)
        If cancelled Then
            MessageBox.Show("We need to know your age to verify you're old enough :/. ")
            Return
        End If
        Dim age = 0
        If Not Integer.TryParse(input, age) Then
            MessageBox.Show($"Hmm, seems like you entered an invalid age")
            Return
        End If
        MessageBox.Show($"Oh, so you're {age} years old")
    End Sub

    Private Sub WorkWithDate()
        Dim content = "Please enter your date of birth!"
        Dim title = "Your birthday?"
        Dim input = InputBox(content, title)
        Dim cancelled = String.IsNullOrEmpty(input)
        If cancelled Then
            MessageBox.Show("We need to know your birthday to verify you're old enough :/. ")
            Return
        End If
        Dim birthday = DateTime.MinValue
        If Not DateTime.TryParse(input, birthday) Then
            MessageBox.Show($"Hmm, seems like you entered an invalid date")
            Return
        End If
        MessageBox.Show($"Oh, so you're born on {birthday:dd.MM.yyyy}")
    End Sub

End Class

Downloads

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.