CSharp - Textbox Inhalt beim Klick überprüfen und in eine Variable abspeichern
Hallo zusammen,
ich habe leider keine Erfahrungen mit programmieren, aber es reizt mich es zu lernen.
Aus mehreren Tutorials habe ich ein einfaches Programmchen geschrieben wo verschiedene Werte berechnet werden.
Allerdings habe ich ein Problem und zwar wenn ich eine der TextBoxen leer lasse stürzt das Programm ab.
Ich habe schon viele "Lösungen" angeschaut und probiert aber es klapt nicht.
Wünschenswert wäre wenn bei leeren TextFeld nichts passiert bis man eine Eingabe tätigt.
Hat jemand eine Lösung für sowas?
private void btvergleichen_Click(object sender, EventArgs e)
{
decimal breitea;
decimal seriea;
decimal zolla;
decimal mm;
breitea = Convert.ToDecimal(bra.Text);
seriea = Convert.ToDecimal(sra.Text);
zolla = Convert.ToDecimal(zra.Text);
mm = 25.4m;
}
Gruss
A.
ich habe leider keine Erfahrungen mit programmieren, aber es reizt mich es zu lernen.
Aus mehreren Tutorials habe ich ein einfaches Programmchen geschrieben wo verschiedene Werte berechnet werden.
Allerdings habe ich ein Problem und zwar wenn ich eine der TextBoxen leer lasse stürzt das Programm ab.
Ich habe schon viele "Lösungen" angeschaut und probiert aber es klapt nicht.
Wünschenswert wäre wenn bei leeren TextFeld nichts passiert bis man eine Eingabe tätigt.
Hat jemand eine Lösung für sowas?
private void btvergleichen_Click(object sender, EventArgs e)
{
decimal breitea;
decimal seriea;
decimal zolla;
decimal mm;
breitea = Convert.ToDecimal(bra.Text);
seriea = Convert.ToDecimal(sra.Text);
zolla = Convert.ToDecimal(zra.Text);
mm = 25.4m;
}
Gruss
A.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 226834
Url: https://administrator.de/contentid/226834
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo A.,
mach das am besten so:
Schau dir unbedingt auch mal das Konstrukt TryCatch an ...damit deine Anwendung in Zukunft nicht mehr so einfach absemmelt
ansonsten kannst du dir auch eine Funktion bauen die prüft ob ein Text eine Zahl ist. Die liefert dann true zurück wenn es eine Zahl ist ansonsten false.
Grüße Uwe
mach das am besten so:
private void btnvergleichen_Click(object sender, EventArgs e)
{
try
{
decimal d1; decimal d2; decimal d3;
bool isNum1 = decimal.TryParse(bra.Text,out d1);
bool isNum2 = decimal.TryParse(sra.Text,out d2);
bool isNum3 = decimal.TryParse(zra.Text,out d3);
if (isNum1 && isNum2 && isNum3)
{
decimal breitea;
decimal seriea;
decimal zolla;
decimal mm;
breitea = d1;
seriea = d2;
zolla = d3;
mm = 25.4m;
//Zeige die Werte nur als Beispiel an
MessageBox.Show("Breite: " + breitea + " / Serie: " + seriea + " / Zoll: " + zolla);
}
else
{
MessageBox.Show("Es sind nicht alle Werte angegeben, oder ungültige Werte verwendet worden!");
}
}
catch { }
}
ansonsten kannst du dir auch eine Funktion bauen die prüft ob ein Text eine Zahl ist. Die liefert dann true zurück wenn es eine Zahl ist ansonsten false.
bool IsNumber(string text)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"^[-+]?[0-9]*[\.,]?[0-9]+$");
return regex.IsMatch(text);
}
Grüße Uwe