zahlenwert aus textboxen abfragen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Wie kommen die Zahlen in die TextBoxen? Durch den Benutzer oder durch Code?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Wenn es Textboxen sind, kannst du relativ einfach durch die Controls durchiterieren, ganz ähnlich, wie @Haudruferzappeltnoch es gemacht hat. Der Ansatz ist schon ganz richtig.

    Ich nehme stark an, dass du deinen Input nicht filterst, d.h. also, dass deine User auch allen möglichen Schrott eintragen können.

    C#-Quellcode

    1. public (TextBox tBox, double val) GetLargestNumber() {
    2. var tbWithLargestNum = default((TextBox tBox, double val));
    3. foreach (var tb in Controls.OfType<TextBox>()) { // hier müsstest du ggf. anpassen und abfragen, wenn du verschachtelte Controls hast!
    4. if (!double.TryParse(tb.Text, out double outVar)) {
    5. // hier liegen fehlerhafte Daten vor
    6. continue; // nächste Iteration
    7. }
    8. if (tbWithLargestNum == default || tbWithLargestNum.val > outVar) {
    9. tbWithLargestNum = (tb, outVar);
    10. }
    11. }
    12. return tbWithLargestNum;
    13. }
    14. private void button1_Click(object sender, EventArgs e) {
    15. var (tBox, val) = GetLargestNumber();
    16. MessageBox.Show($"{tBox.Name} has the largest number of all! Its value is {val}"); // hier müsste ggf. noch auf null oder Nothing in VB geachtet werden.
    17. }


    Ist ungetesteter Code, aber ich glaube der sollte dich in die richtige Richtung weisen.
    Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

    Meine Firma: Procyon Systems
    Meine Privatwebseite: SimonC.eu

    Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
    Ich versuche auf euch zurückzukommen :)
    @patrick.m Wenn das TextBoxen sind und bleiben sollen (keine NumericUpDown), mach Dir daraus eine IntegerTextBox, in die nur Zahlen, nicht aber Buchstaben und Co eingegeben werden können.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!