Wert aus Textbox in die nächst leere Textbox kopieren

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von BeKeAh.

    Wert aus Textbox in die nächst leere Textbox kopieren

    Hallo, ich habe noch ein Problem. Ich habe eine feste TextBox1(Eingabemaske)auf der Form1, in den Werte eingeben werden können,
    diese Werte sollen dann kopiert werden per "Button Click" in die nächste leere Textbox wo von 10 Stk aber auf
    Form2 angeordnet sind. ( praktisch als Gedächnisstütze). Danke für eure Hilfe vorab. :?:
    Warum nimmst du dafür TextBoxen?
    Dafür gibt's doch sinnvollere Controls... So ne schöne Liste zB. oO
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Wo ist jetzt das Problem? Hast du nen Ansatz? Wie müssen wir uns das Ganze denn vorstellen? Ich weiß ehrlich gesagt nicht, was du jetzt machen willst.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Dafür sind TextBoxen das absolut falsche Mittel!!!
    Zudem arbeitet man nicht mit Werten aus ner TextBox, sondern mit Variablen...
    Die Variablen kannst natürlich in ner TextBox darstellen... Aber bitte nicht so Konstrukte "TextBox12.Text * 123.23 / TextBox15.Text" oO

    Zumal viele TextBoxen immer auf ein absolutes Mis-design hindeuten.
    Schau dir die anderen Controls an... Wie eine ListBox...
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    @BeKeAh

    Du kannst den Text deiner Textbox in eine String Variable Speichern.
    Dim TextboxText as String = Textbox1.text
    Wenn du in der 2. Textbox dann den Text anzeigen möchtest einfach
    Textbox2.text = TextboxText

    Wenn die Bearbeitung abgeschlossen ist könntest du per mit Textbox1.Text = TextboxText den geänderten Text wieder in die Textbox1 laden.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ich habe das so verstanden, dass er auf ner zweiten Form alle seine Eingaben zwischenspeichern will ("als Gedächtnisstütze")...
    Das heißt für mich er hat da wirklich TextBox1 bis TextBox10 stehen und will sie der Reihe nach füllen... wobei da das Problem ist... Was ist wenn alle voll sind?! Nur 10 Eingaben erlauben?!?!?!
    Sowas macht man einfach nicht...

    Sinnvoller wäre es sich da ne Liste zu erstellen und diese an ne ListBox zu binden oder derartiges.
    Aber bis jetzt spekulieren wir hier nur munter rum ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hallo schonmal danke vorab für euere schnellen Antworten.
    Wie bekomme ich das hin wenn ich einen neuen Wert in die Textbox1 schreibe, das der alte übernommene Wert
    in der Textbox2 nicht überschrieben wird, sondern automatisch der Wert in die nächste Textbox3 geschrieben wird
    und dieses dann fortlaufend mit den Textboxen... :)
    Entweder mit nem For Each und ordentlich Kopfarbeit... oder mit ganz ganz vielen If .. then... elseif... then...
    Da gibt es nichts vorgefertigtes dass soetwas macht... Denn dafür sind TextBoxen nicht da!
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    @BeKeAh

    Am besten machst du dir eine List(of textbox) in die du alle deine Zieltextboxen einfügst.
    Dann kannst du einfach per for each durch die Liste gehen und sobald eine Textbox.Text = "" ist dann den Text da rein schreiben (exit for nach treffer nicht vergessen)
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Danke an Schamash und MemoAnMichSelbst, werde dies mal ausprobieren, da ich
    Anfänger bin hatte ich gedacht es gibt eine einfache Lösung zum flexibelen Ansprechen
    der Textboxen. Die anderen Lösungsansätze werde ich versuchen zulösen. Danke :thumbup:
    Wenn du wirklich nur den Verlauf speichern magst...
    Nimm ne Listbox...
    Da kannst einfach sagen VerlaufListBox.Items.Add(...) und er hängt dir nen neuen Wert dran.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Hallo, dies ist mein Versuch mein Problem zu lösen (Bitte Rücksicht da Anfänger) kann man sowas überhaupt ausführen
    und/oder kann mann noch was zusammen fassen?

    Dim counter As String

    Private Sub Button1_Click(................
    If counter = 0 Then
    Form2.TextBox1.Text = TextBox1.Text
    End If
    If counter = 1 Then
    Form2.TextBox2.Text = TextBox1.Text
    End If
    If counter = 2 Then
    Form2.TextBox3.Text = TextBox1.Text
    End If
    If counter = 3 Then
    Form2.TextBox4.Text = TextBox1.Text
    End If
    If counter = 4 Then
    Form2.TextBox5.Text = TextBox1.Text
    End If
    If counter = 4 Then
    MsgBox("bitte leeren!")
    Else : counter = counter + 1
    End If
    .
    .
    .
    .

    End Sub
    @BeKeAh

    Ich habe mich jetzt erst mal an deiner Beschriftung der Steuerelemente orientiert. Ich empfehle dir aber die Textboxen und Buttons mit "sprechenden" Namen zu versehen (sowas in der Art: "btnKopieren", "txtUrsprung", "txtZiel1")

    Ansonsten kannst du dir ja mal den Code anschauen. Damit sparst du dir jede Menge If/Else und außerdem ist der Code einfach erweiterbar.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. Dim TextBoxen As New List(Of TextBox)
    3. Dim Ausgefuellt As Boolean = False
    4. TextBoxen.AddRange({TextBox2, TextBox3, TextBox4, TextBox5}) 'Hier werden alle Zieltextboxen eingetragen
    5. For Each Box As TextBox In TextBoxen
    6. If String.IsNullOrEmpty(Box.Text) Then
    7. Box.Text = TextBox1.Text
    8. Ausgefuellt = True
    9. Exit For
    10. End If
    11. Next
    12. If Not Ausgefuellt Then
    13. MessageBox.Show("Es gab keine leere Textbox mehr.")
    14. End If
    15. End Sub


    edit: Code korrigiert
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."