Bei wiederholtem Button_click Neues Ereignis stattfinden lassen

  • VB.NET

Es gibt 49 Antworten in diesem Thema. Der letzte Beitrag () ist von JamalR3.

    klar doch:

    VB.NET-Quellcode

    1. Private Sub TextBox1_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.VisibleChanged
    2. If TextBox1.Visible = False Then
    3. TextBox2.Top += 25
    4. TextBox2.Top += 25
    5. TextBox3.Top += 25
    6. TextBox4.Top += 25
    7. TextBox5.Top += 25
    8. TextBox6.Top += 25
    9. TextBox7.Top += 25
    10. TextBox8.Top += 25
    11. TextBox9.Top += 25
    12. ....
    13. EndIf
    14. End Sub
    Private Sub TextBox1_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.VisibleChanged
    If textbox1.visible = false then
    TextBox2.Top = textbox1.top 'oder TextBox2.Top = textbox2.top+25
    end if
    End Sub

    hoffe das hilft jetzt :D lg lukas
    guck mal, ich hab für das erste mal Klick definiert, das textbox3 und 4 un checkbox 2 erscheinen sollen

    für den 2ten klick, textbox5,6 und checkbox3 usw

    wie kann ich das so machen, das einfach immer wenn ne weitere eingaben gebraucht werden, bei button klick eine erscheint... aber trotzdem, dass nich erst alle 20 angeklickt werden müssen, bevor sich was tut.?
    Das hätte ich dir schon von anfang an geraten:

    du solltest die TextBoxen nixht schon am Anfang machen, sondern erst, wenn sie gebraucht werden z.B.

    VB.NET-Quellcode

    1. Dim btn As New TextBox
    2. btn.Location = New Point(x, y)
    3. Me.Controls.Add(btn)


    So ist dein Code auch nicht so lang, du tust sie nur einfach immer ein bisschen weiter unten erwscheinen lassen.

    Um sie dann zu entfernen müsste sowas gehen(noch nie ausprobiert)

    Me.Controls.Remove(btn)

    Gruß Einsteiger
    wo ischs problem?

    du sagsch einfach z.B. btn.Text + otn.Text


    sry: ich hab was wichtiges vergessen:

    machs mit Index also z.b btn(1), btn(2), btn(3) usw.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Einsteiger“ ()

    sorry einsteiger, aber ich stell mich irgendwie richtig blöd an...


    kannst du mir ein beispiel code zeigen, z.b. hier

    Button klick

    2 neue textboxen, 1 neue checkbox unter den alten vorhanden erscheinen lassen...

    erstmal will ich wissen wie das geht, und halt bei jedem weiteren klick,nocch mal der gleiche prozess...

    Textbox1 will ich mit den anderen erstellten textboxen addieren, aber nur mit jeder zweiten: sprich
    textbox1 + textbox3 + textboxt 5 ( halt wenn die jeweilige vorhanden ist)

    und sobald eine checkbox die zu textbox3 gehört, gechecked ist, soll alles hochverschoben werden, der übersicht wegen.

    hast du en bisschen besseres bild meines vorhabens?
    Also ich probiers mal:

    die Text- und CheckBoxen erstellen :

    VB.NET-Quellcode

    1. Dim Ort_für_die_neue_TextBox As Integer = 100
    2. Dim Ort_für_die_neue_CheckBox As Integer = 100
    3. Dim Nummer_der_Textboxen As Integer = 1
    4. Dim Nummer_der_Checkboxen As Integer = 1
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Dim TextBox(Nummer_der_Textboxen) As TextBox
    7. TextBox(Nummer_der_Textboxen).Location = New Point(20, Ort_für_die_neue_TextBox)
    8. Me.Controls.Add(TextBox(Nummer_der_Textboxen))
    9. Nummer_der_Textboxen += 1
    10. Ort_für_die_neue_TextBox += 25
    11. Dim TextBox(Nummer_der_Textboxen) As TextBox
    12. TextBox(Nummer_der_Textboxen).Location = New Point(20, Ort_für_die_neue_TextBox)
    13. Me.Controls.Add(TextBox(Nummer_der_Textboxen))
    14. Nummer_der_Textboxen += 1
    15. Ort_für_die_neue_TextBox += 25
    16. Dim CheckBox(Nummer_der_Checkboxen) As TextBox
    17. CheckBox(Nummer_der_Checkboxen).Location = New Point(20, Ort_für_die_neue_CheckBox)
    18. Me.Controls.Add(CheckBox(Nummer_der_Checkboxen))
    19. Nummer_der_Checkboxen += 1
    20. Ort_für_die_neue_CheckBox += 25
    21. End Sub


    Dann des mit dem addieren:

    VB.NET-Quellcode

    1. Dim Ergebnis_der_addition As Double = TextBox(1).Text
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. For i = 1 To Nummer_der_TextBoxen Step 2
    4. Ergebnis_der_addition += TextBox(i).Text
    5. End For
    6. End Sub


    Des mit dem verschieben muss ich mir nochmal überlegen, schau die erst mal des an, was ich jetzt hab, ich bin mir nämlich nicht sicher ob es geht (is nämlich aus dem Kopf)

    Gruß Einsteiger
    danke für die mühe einsteiger,

    aber schau mal ich habs umgesetzt wie du es mir sagtest :

    VB.NET-Quellcode

    1. Dim Ort_für_die_neue_TextBox As Integer = 100
    2. Dim Ort_für_die_neue_CheckBox As Integer = 100
    3. Dim Nummer_der_Textboxen As Integer = 1
    4. Dim Nummer_der_Checkboxen As Integer = 1
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    6. Dim TextBox(Nummer_der_Textboxen) As TextBox
    7. TextBox(Nummer_der_Textboxen).Location = New Point(20, Ort_für_die_neue_TextBox)
    8. Me.Controls.Add(TextBox(Nummer_der_Textboxen))
    9. Nummer_der_Textboxen += 1
    10. Ort_für_die_neue_TextBox += 25
    11. Dim TextBox2(Nummer_der_Textboxen) As TextBox
    12. TextBox(Nummer_der_Textboxen).Location = New Point(20, Ort_für_die_neue_TextBox)
    13. Me.Controls.Add(TextBox(Nummer_der_Textboxen))
    14. Nummer_der_Textboxen += 1
    15. Ort_für_die_neue_TextBox += 25
    16. Dim CheckBox(Nummer_der_Checkboxen) As TextBox
    17. CheckBox(Nummer_der_Checkboxen).Location = New Point(20, Ort_für_die_neue_CheckBox)
    18. Me.Controls.Add(CheckBox(Nummer_der_Checkboxen))
    19. Nummer_der_Checkboxen += 1
    20. Ort_für_die_neue_CheckBox += 25


    so bei dem buttonklick tut sich nix und er makiert die zeile :

    VB.NET-Quellcode

    1. TextBox(Nummer_der_Textboxen).Location = New Point(20, Ort_für_die_neue_TextBox)


    erstellen sie eine objektinstanz mit dem schlüsselsatz NEW

    hmmm....
    warte mal, ich hab was ausprobiert

    checkbox un die 2textboxen zu erstellen hat funktioniert

    VB.NET-Quellcode

    1. Public Class Form1
    2. 'Speicher für die Letzte Verticale Position
    3. Private intLetztePositionY As Integer = 0
    4. 'Speicher für die Anzahl der Button aufrufe
    5. Private intAnzahlButtonClicks As Integer = 0
    6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    7. 'Aufruf +1
    8. intAnzahlButtonClicks += 1
    9. 'Position +25 Pixel
    10. intLetztePositionY += 25
    11. 'Erstellt neues TextBox Steuerelement
    12. Dim textBoxLinks As TextBox = New TextBox()
    13. With textBoxLinks
    14. 'Vergibt einen Namen für das Element
    15. .Name = String.Format("TextboxLinks{0}", intAnzahlButtonClicks)
    16. 'Definiert die Größe
    17. .Size = New Size(120, 20)
    18. 'Definiert die Position
    19. .Location = New Point(25, intLetztePositionY)
    20. End With
    21. 'Fügt es der Form hinzu
    22. Me.Controls.Add(textBoxLinks)
    23. 'Erstellt neues TextBox Steuerelement
    24. Dim textBoxRechts As TextBox = New TextBox()
    25. With textBoxRechts
    26. 'Vergibt einen Namen für das Element
    27. .Name = String.Format("TextboxRechts{0}", intAnzahlButtonClicks)
    28. 'Definiert die Größe
    29. .Size = New Size(120, 20)
    30. 'Definiert die Position, 5 Pixel Rechts neben der Linken Textbox
    31. .Location = New Point(145, intLetztePositionY)
    32. End With
    33. Me.Controls.Add(textBoxRechts)
    34. 'Erstellt neues Checkbox Steuerelement
    35. Dim checkbox As CheckBox = New CheckBox()
    36. With checkbox
    37. 'Vergibt einen Namen für das Element
    38. .Name = String.Format("Checkbox{0}", intAnzahlButtonClicks)
    39. 'Defniert die Größe
    40. .Size = New Size(81, 17)
    41. 'Defniert die Position, 5 pixel links neben der linken textbox
    42. .Location = New Point(5, intLetztePositionY)
    43. End With
    44. Me.Controls.Add(checkbox)
    45. End Sub
    46. End Class


    WIe kann ich die erstellten textboxen zur rechnung nutzen?
    ich möchte in die textbox dann einen wert eingeben, und den mit den unteren addieren usw

    das ergebnis soll dann auf der anderen form sein... aber das weiß ich glaub ich wies geht...

    auf ejden fall schlicht un einfach addieren

    textbox1 +
    textbox3+
    textbox5
    usw ^^

    allerdings kann ich nich schon vorher sagen

    textbox1.text + textbox3.text + ... = textboxblabla bla

    weil die eventuell exestieren oder nich

    wenn die textboxen exestieren soll er sie zusammen addieren
    Also ich habs mir nomal überlegt (des isch gar net so einfach)

    Du hasch ja geau so viele TextBoxen wie intAnzahlButtonClicks groß ist, die du addieren willst, das heißt du musst es in eine For schleife packen, die das ganze so oft durchläuft.

    VB.NET-Quellcode

    1. For i As Integer = 1 To intAnzahlButtonClicks
    2. EndFor


    und dann musch du in der schleife imer das ergebnis + den nächsten Wert nehmen Also:

    VB.NET-Quellcode

    1. Ergebnis += nächstenwert


    und deine Textboxen heißen ja TextboxLinks{1}, TextboxLinks{2}, TextboxLinks{3} (oder?)

    Dann müsstesch du doch nur jeweils plus den Wert aus TextBox{i} nehmen

    Theoretisch müsst es doch so gehen

    Gruß Einsteiger
    boah man ... bald verzweipfel ich ! :D

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. For i As Integer = 1 To intAnzahlButtonClicks
    3. TextBox{1}.text + TextBox{2}.text = textbox100.text
    4. EndFor()
    5. End Sub



    ich hab echt null ahnung -.-
    Tu erst dein ergebnis als Variable machen und später erst in eine TextBox schreiben.

    VB.NET-Quellcode

    1. Dim Ergebnis As Double
    2. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    3. For i As Integer = 1 To intAnzahlButtonClicks
    4. Ergebnis += ReTextBox{i}.Text
    5. EndFor()
    6. End Sub