Mehrer TextBoxen gleichzeitig ansprechen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Captain.

    Mehrer TextBoxen gleichzeitig ansprechen

    Hallo Leute, hab mich lange nicht gemeldet gehabt :) naja egal ...

    VB.NET-Quellcode

    1. Dim a As Integer = Integer.Parse(TextBox1.Text)
    2. For i As Integer = 0 To 49
    3. a = (a + 2) Mod 50
    4. If a = 51 Then
    5. a = 1
    6. ElseIf a = 0 Then
    7. a = +1
    8. End If
    9. TextBox2.Text &= a.ToString & vbCrLf


    bei diesem Code geht's eigentlich um die letze Zeile
    "TextBox2.Text &= a.ToString & vbCrLf"

    Der Code bewirkt folgendes:
    TextBox1 Eingabe = 1 / TextBox2 Ausgabe = 3,5,7,9 ... ODER AUCH
    TextBox1 Eingabe = 2 / TextBox2 Ausgabe = 4,6,8,10...

    also gerade und ungerade Zahlen

    SO... Ich würde jetzt gerne gleich alle bzw. mehrer bestimmte TextBoxen gleich füllen wollen ^^
    anstatt immer wieder im Code die Ausgabe TextBox zu ändern
    mein Ansatz war: "TextBox2.Text &= a.ToString & vbCrLf & TextBox3.Text & TextBox4.Text ..." ohne ERFOLG !

    MFG
    Captain
    Also in TextBox1 steht entweder ne grade oder ne ungrade Zahl, und du willst dann jeweils die Zahlenreihe mit graden /ungraden Zahlen danach, hab ich verstanden. Aber wie willst du das ausgegeben haben ? Erkläre das noch mal, zeige genau wie Input und Output auszusehen hat.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    ein Fehler :) nachdem 2 eingegeben worden ist - kommt selbstverständlich 4 / nicht 2 :)



    ich würde gerne die TextBoxen zusammenfassen, es gibt 2 "gruppen"
    Gruppe 1: ALLE textBoxen wo gerade/oder ungerade Zahlen eingegeben werden können UND
    Gruppe 2: ALLE textBoxen wo gerade/oder ungerade Zahlen ausgegeben werden können

    bislang muss ich für jede Zeile diesen Code schreiben:

    VB.NET-Quellcode

    1. ​Dim a As Integer = Integer.Parse(TextBox1.Text)
    2. For i As Integer = 0 To 49
    3. a = (a + 2) Mod 50
    4. If a = 51 Then
    5. a = 1
    6. ElseIf a = 0 Then
    7. a = +1
    8. End If
    9. TextBox2.Text &= a.ToString & vbCrLf
    10. Dim a2 As Integer = Integer.Parse(TextBox3.Text)
    11. For i2 As Integer = 0 To 49
    12. a2 = (a2 + 2) Mod 50
    13. If a2 = 51 Then
    14. a2 = 1
    15. ElseIf a2 = 0 Then
    16. a2 = +1
    17. End If
    18. TextBox4.Text &= a2.ToString & vbCrLf
    19. Dim a3 As Integer = Integer.Parse(TextBox5.Text)
    20. For i3 As Integer = 0 To 49
    21. a3 = (a3 + 2) Mod 50
    22. If a3 = 51 Then
    23. a3 = 1
    24. ElseIf a3 = 0 Then
    25. a3 = +1
    26. End If
    27. TextBox6.Text &= a3.ToString & vbCrLf
    28. Dim a4 As Integer = Integer.Parse(TextBox7.Text)
    29. For i4 As Integer = 0 To 49
    30. a4 = (a4 + 2) Mod 50
    31. If a4 = 51 Then
    32. a4 = 1
    33. ElseIf a4 = 0 Then
    34. a4 = +1
    35. End If
    36. TextBox8.Text &= a4.ToString & vbCrLf



    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Captain“ ()

    Ich würde es so machen:
    - Jeweilige Eingabe und Ausgabe Controls im Dictionary festhalten
    - Je nachdem wann dieser Code ausgeführt werden soll... Event ?
    - Den Algo verschönern:

    C#-Quellcode

    1. var a = int.Parse(TB_XY.Text);
    2. var ints = new List<int> {a};
    3. while (bliblablub) {
    4. ints.Add(ints.Last() + 2);
    5. }
    6. TB_Z.Text = string.Join("\n\r", ints);
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais