C# überprüfen ob bestimmter Text in TextBox ist?
Hallo.
Ich bin momentan daran mein erstes Programm in Visual Studio (C#) zu erstellen.
Ich möchte nun ein bestimmtes Feature einbauen.
Und zwar soll es so funktionieren:
Wenn ein bestimmter Text in einer Text Box vorhanden ist dann mach ... wenn auf Button gedrückt.
Wenn ein anderer bestimmter Text in der TextBox vorhanden ist dann mach ... wenn auf Button gedrückt.
Wenn ein anderer Text, zahlen oder nichts in der Text Box ist dann mach Garnichts.
Ich habe bestimmt fast 2 Stunden damit verbracht nach einer Lösung zu Googlen aber ich konnte nichts der gleichen finden. Jetzt frage ich mich, kann man so etwas nicht machen? Oder hab ich lediglich nichts gefunden?
Würde mich um Hilfe extremst freuen, da ich ein absoluter Anfänger bin und neben CMD Batches nie etwas dergleichen gemacht habe.
1 Antwort
Ein erster Rat: Fang nicht mit GUI-Programmierung an, so lange du in den Grundlagen (Variablen, Operatoren, Kontrollstrukturen, OOP) noch nicht vertraut bist, denn die brauchst du. Konsolenprojekte sind für den Einstieg das passendere Umfeld.
Zu deiner konkreten Frage: Der Lösungsweg ist an sich davon abhängig, mit welchem GUI-Toolkit du arbeitest. In .NET gibt es mehrere. Ich gehe folgend einfach davon aus, dass du mit Windows Forms arbeitest.
Im Visual Studio Designer kannst du, wenn du deine Textbox selektierst, ihr im Properties-Dialog einen Namen geben. Über diesen Namen ist sie anschließend im Quellcode ansprechbar. Selektiere zudem noch deinen Button und wechsel im Properties-Dialog auf den Tab mit dem Blitzicon (Events). Dort kannst du für deinen Button einen Klick-Handler anlegen. Visual Studio wird dir eine entsprechende Methode in den Quellcode schreiben.
Innerhalb der Methode kannst du folgend deine Logik implementieren.
if (nameOfYourTextBox.Text == "Some text")
{
// do something
}
/* etc. ... */
Das geht auch.
Beispiel:
if ("Some text".Equals(nameOfYourTextBox.Text, StringComparison.InvariantCulture))
Oder:
if (string.Equals("Some text", nameOfYourTextBox.Text, StringComparison.InvariantCulture))
Genaueres dazu findest du in der Dokumentation.
Oder:
if (nameOfYourTextBox.Text.Equals("Some text", StringComparison.InvariantCulture))
Mag ich persönlich lieber.
Vielen vielen dank! Ich habe so viel rumprobiert und nichts hat geklappt. Und dabei ist es in diesem fall so einfach gewesen.
Ich habe ständig versucht mit string und equal zu arbeiten haha.
Und ja, ich benutze Windows Forms App und .NET 6.0 Framework