Erstellen von Textboxen per Button

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    Erstellen von Textboxen per Button

    Hi zusammen,

    mit folgendem Code möchte ich per Klick auf einen Button jeweils eine Groupbox und eine dazugehörige Textbox erstellen.
    Mit jedem weiteren Klick soll eine neue GroupBox (inkl. Textbox) etwas weiter unterhalb erstellt werden.

    Jeder erste Klick erzeugt mir das gewünschte Ergebnis...also eine Groupbox mit Textbox. Bei jedem weiteren Klick wird allerdings nurnoch eine Groupbox erzeugt..die Textbox fehlt..habt ihr eine Idee wieso?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim i As Integer = 1
    3. Dim x As Integer = 10
    4. Dim j As Integer = 20
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. End Sub
    7. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    8. Dim Grp As GroupBox
    9. Dim txt As TextBox
    10. Grp = New GroupBox
    11. Controls.Add(Grp)
    12. Grp.Parent = Me
    13. Grp.Name = "grpGrp" & i
    14. Grp.Location = New Point(20, x)
    15. Grp.Size = New Size(800, 80)
    16. Grp.Text = i
    17. txt = New TextBox
    18. Controls.Add(txt)
    19. txt.Parent = Grp
    20. txt.Name = "txt" & i
    21. txt.Location = New Point(25, j)
    22. txt.Size = New Size(100, 50)
    23. txt.Text = ""
    24. i += 1
    25. x += 100
    26. j += 100
    27. End Sub
    28. End Class

    nip_ schrieb:

    VB.NET-Quellcode

    1. Controls.Add(txt)
    Du musst die TextBox zur GroupBox hinzufügen.

    VB.NET-Quellcode

    1. Grp.Add(txt)
    Ist das ganze ühaupr sinnvoll?
    Warum machst Du das nicht im Designer?
    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!

    nip_ schrieb:

    VB.NET-Quellcode

    1. Grp.Add(txt)
    Sorry, C&P-Bremse. :D

    VB.NET-Quellcode

    1. Grp.Controls.Add(txt)
    ----

    nip_ schrieb:

    ein komplettes Element "vordesignen"
    Mach Dir ein UserControl.
    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!
    Hey,

    wie Dir Rod bereits gesagt hat, erstelle Dir ein UserControl. Nutze außerdem das FlowlayoutPanel, um die Controls sauber in Reihe anzuzeigen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    nip_ schrieb:

    funktioniert leider auch nicht.
    Mach das ganze mal im Designer so wie Du es willst und sieh Dir dann den vom Designer generierten Code Code an: FormX.Designer.vb, InitializeComponente().
    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!